ruby-on-rails – 使用Ruby检索唯一记录,将MongoDB _id转换为ObjectID对象

ruby-on-rails – 使用Ruby检索唯一记录,将MongoDB _id转换为ObjectID对象,第1张

概述我正在尝试使用标准类型ObjectID的_id检索存储在MongoDB中的文档.我将_id表示为字符串.在这个例子中它是“4ec064e406a6f1205a000001” 所以我这样做: require 'mongo'connection = Mongo::Connection.new("localhost", 27017).db("store")collection = connecti 我正在尝试使用标准类型ObjectID的_ID检索存储在MongoDB中的文档.我将_ID表示为字符串.在这个例子中它是“4ec064e406a6f1205a000001”

所以我这样做:

require 'mongo'connection = Mongo::Connection.new("localhost",27017).db("store")collection = connection.collection("products")ID = '4ec064e406a6f1205a000001'# What should the following line be? This doesn't work.collection.find_one("_ID" => Mongo::ObjectID.from_string(ID))

我意识到这是一个BSON ObjectID,我尝试了一些不同的方法来使用bson gem生成正确的对象,但我无法让它工作.我也尝试使用类似的代码将对象的_ID中的一个更改为标准的Int32,并且它工作正常.我不知道如何创建用于此查询的正确ObjectID对象.

谢谢!

解决方法 以下是将字符串转换为BSON ObjectID的正确语法:

collection.find_one({:_ID => BSON::ObjectID("4ec064e406a6f1205a000001")})
总结

以上是内存溢出为你收集整理的ruby-on-rails – 使用Ruby检索唯一记录,将MongoDB _id转换为ObjectID对象全部内容,希望文章能够帮你解决ruby-on-rails – 使用Ruby检索唯一记录,将MongoDB _id转换为ObjectID对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1286275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存