¿Cómo puedo recuperar un documento por _id?
Pregunta
Estoy tratando de recuperar un documento cuando tengo un ID de objeto -. Sin embargo, la consulta no funciona
@collection = @db.collection('Mylist')
@result = @collection.find({"_id" => params[:id]})
He intentado variaciones de la consulta - que siempre produce vacío -. Sin embargo cuando intento una consulta en la colección tales como abajo, que funcionaría
@result = @collection.find({"Exist" => "True"})
¿Por qué? Es extraño que trabajan consultas complejas, pero una simple consulta por _id devuelve nada.
Si es posible, no quiero usar MongoMapper.
Gracias
Solución
Lo encontré - que necesita para envolverlo como esto -
find({"_id" => Mongo::ObjectId(params[:id])})
Otros consejos
find(:_id => BSON::ObjectID(params[:id])
Esto también funcionaría: @ Coll.find_one (ObjectID.from_string (params [: id]))
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow