Ruby Mongo Driver语言 - Find_by_Id



我哪里做错了?我知道_id在数据库中,但我得到空结果。

@b = coll.find("_id" => "4db2ebee90036f010b000001")

谢谢

使用

coll.find(:_id => BSON::ObjectId('4db2ebee90036f010b000001')).each do |data| 
   puts data.inspect 
end

@b将包含游标,而不是结果。您还需要使用适当的对象id。

你可能想要这个:

@b = coll.find_one(:_id => BSON::ObjectId('4db2ebee90036f010b000001'))

使用Ruby 1.9.3和mongoid 3.0.19

@coll = Coll.find( hash["_id"] )

@coll = Coll.find( "511296d2dfa18f07fa000009" )

查找记录。只能是一个,_id是主键,不能是双键

我会使用像first这样的东西,它返回一个对象,因为如果你的主id在数据库中重复,你会有更大的问题。语法取决于你的mongo gem版本,这个是2.1.0版本。

your_id = '4db2ebee90036f010b000001'
db = Client.new([ "localhost:27017" ], :database => "db")
coll = db[:testCollection]
res = coll.find(:_id => BSON::ObjectId(your_id)).first

使用,Ruby版本2.3.1p112, mongo (gem) 2.4.2和BSON (gem) 4.2.2

client = Mongo::Client.new(['127.0.0.1:3001'], :database=>'dbname')
collection = client[:users]
user = collection.find({_id:'XY3h5R7aJkh5FxFhJ'}).first

相关内容

  • 没有找到相关文章

最新更新