MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come posso interrogare gli oggetti referenziati in MongoDB?

Ora puoi farlo in Mongo 3.2 usando $lookup

$lookup accetta quattro argomenti

from :specifica la raccolta nello stesso database con cui eseguire l'unione. Impossibile partizionare dalla raccolta.

localField :specifica il campo dai documenti immessi nella fase di ricerca $. $lookup esegue una corrispondenza di uguaglianza tra localField e ForeignField dai documenti della collezione from.

foreignField :specifica il campo dei documenti nella raccolta.

as :specifica il nome del nuovo campo della matrice da aggiungere ai documenti di input. Il nuovo campo dell'array contiene i documenti corrispondenti dalla raccolta.

db.Foo.aggregate(
  {$unwind: "$bars"},
  {$lookup: {
    from:"bar",
    localField: "bars",
    foreignField: "_id",
    as: "bar"

   }},
   {$match: {
    "bar.testprop": true
   }}
)