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

È stato utile?

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