我想检索文档时,我有一个对象ID - 但是,查询不工作

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

我试过查询的变化 - 它总是产生空 - 但是当我尝试在收集如下面的查询,将工作

@result = @collection.find({"Exist" => "True"}) 

为什么呢?奇怪的是,复杂的查询工作,但通过_id一个简单的查询返回任何内容。

如果可能的话,我不希望使用MongoMapper。

由于

有帮助吗?

解决方案

找到它 - 你需要它包这样的 -

find({"_id" => Mongo::ObjectId(params[:id])}) 

其他提示

find(:_id => BSON::ObjectID(params[:id])

这也将工作:  @ coll.find_one(ObjectID.from_string(PARAMS [:ID]))

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top