ruby-on-rails – 使用Ruby检索唯一记录,将MongoDB _id转换为Obj
发布时间:2020-12-17 02:53:20 所属栏目:百科 来源:网络整理
导读:我正在尝试使用标准类型ObjectID的_id检索存储在MongoDB中的文档.我将_id表示为字符串.在这个例子中它是“4ec064e406a6f1205a000001” 所以我这样做: require 'mongo'connection = Mongo::Connection.new("localhost",27017).db("store")collection = conne
我正在尝试使用标准类型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")}) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |