Recuperare un documento tramite il suo id in MongoDB

Sto cercando di recuperare un documento avendo il suo Object Id, ma la query non funziona, eccola

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

ho provato anche a modificare leggermente la query ma continua a non funzionare, il risultato è sempre vuoto.

Invece se faccio una query su tutta la collection il documento esiste, scrivo così

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

Come mai? E' strano che sulla query che interroga tutta la collection il documento viene trovato, mentre quella specifica e mirata col suo riferimeno, con l' object id non mi restituisce nulla, cosa ne pensate? Sbaglio qualcosa?

In Corso 5
MongoDB 28-06-2018 1 Risposta 1263 Visite +2

Risposte ( 1 approvate )

  1. Bruno Verzinesi
    +1
    28-06-2018 17:20:15
    Rispondi

    Per trovare un documento facendo riferimeto al suo id su un database MongoDB devi scrivere così

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

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

Pietro Fresoli

Pietro Fresoli

Autore di questa domanda

 Domanda Precedente

 Elenco Domande 

Domanda Successiva