Come posso recuperare un documento da _id?
Domanda
Sto cercando di recuperare un documento quando ho un id oggetto -. Tuttavia, la query non funziona
@collection = @db.collection('Mylist')
@result = @collection.find({"_id" => params[:id]})
Ho provato le variazioni della query - produce sempre vuoto -. Ma quando provo una query sulla raccolta, come qui di seguito, che avrebbe funzionato
@result = @collection.find({"Exist" => "True"})
Perché? E 'strano che query complesse funzionano, ma una semplice query _id restituisce nulla.
Se possibile, non voglio usare MongoMapper.
Grazie
Soluzione
trovato - è necessario per avvolgere in questo modo -
find({"_id" => Mongo::ObjectId(params[:id])})
Altri suggerimenti
find(:_id => BSON::ObjectID(params[:id])
Questo potrebbe anche funzionare: @ Coll.find_one (ObjectID.from_string (params [: id]))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow