当我有对象ID时,我正在尝试检索文档 - 但是,查询不起作用。
@collection = @db.collection('Mylist')
@result = @collection.find({"_id" => params[:id]})
我尝试了查询的变体 - 它总是产生空 - 但是当我尝试对下面的集合进行查询时,这会有效。
@result = @collection.find({"Exist" => "True"})
为什么呢?奇怪的是,复杂的查询有效,但_id的简单查询不会返回任何内容。
如果可能,我不想使用MongoMapper。
由于
答案 0 :(得分:5)
找到它 - 你需要像这样包装它 -
find({"_id" => Mongo::ObjectId(params[:id])})
答案 1 :(得分:3)
find(:_id => BSON::ObjectID(params[:id])
答案 2 :(得分:2)
这也有效: @ coll.find_one(ObjectID.from_string(PARAMS [:ID]))