如何通过_id检索文档?

Red*_*Nax 4 ruby mongodb

我正在尝试在有对象ID时检索文档 - 但是,查询不起作用.

@collection = @db.collection('Mylist')
@result = @collection.find({"_id" => params[:id]})
Run Code Online (Sandbox Code Playgroud)

我已经尝试了查询的变体 - 它总是产生空 - 但是当我尝试对下面的集合进行查询时,这将起作用.

@result = @collection.find({"Exist" => "True"}) 
Run Code Online (Sandbox Code Playgroud)

为什么?奇怪的是,复杂的查询有效,但_id的简单查询不会返回任何内容.

如果可能的话,我不想使用MongoMapper.

谢谢

Red*_*Nax 5

找到它 - 你需要像这样包裹它 -

find({"_id" => Mongo::ObjectId(params[:id])}) 
Run Code Online (Sandbox Code Playgroud)