题
我想检索文档时,我有一个对象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]))
不隶属于 StackOverflow