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

¿Fue útil?

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
scroll top