MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment interroger des objets référencés dans MongoDB ?

Vous pouvez maintenant le faire dans Mongo 3.2 en utilisant $lookup

$lookup prend quatre arguments

from :spécifie la collection dans la même base de données avec laquelle effectuer la jointure. La collection from ne peut pas être fragmentée.

localField :spécifie le champ de l'entrée des documents à l'étape $lookup. $lookup effectue une correspondance d'égalité entre le localField et le foreignField à partir des documents de la collection from.

foreignField :spécifie le champ des documents de la collection from.

as :spécifie le nom du nouveau champ tableau à ajouter aux documents d'entrée. Le nouveau champ de tableau contient les documents correspondants de la collection from.

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

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