Question

Je suis en train de récupérer un document quand j'ai un identifiant d'objet -. Cependant, la requête ne fonctionne pas

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

J'ai essayé des variations de la requête - elle donne toujours vide -. Mais lorsque je tente une requête sur la collection, comme ci-dessous, qui fonctionnerait

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

Pourquoi? Il est étrange que le travail des requêtes complexes, mais une simple requête par _id ne renvoie rien.

Si possible, je ne veux pas utiliser MongoMapper.

Merci

Était-ce utile?

La solution

Je l'ai trouvé - vous avez besoin de l'envelopper comme ça -

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

Autres conseils

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

collaborerait également:  @ Coll.find_one (ObjectID.from_string (params [: id]))

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top