sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo consulto objetos referenciados en MongoDB?

Ahora puede hacerlo en Mongo 3.2 usando $lookup

$lookup toma cuatro argumentos

from :Especifica la colección en la misma base de datos para realizar la unión. La colección from no se puede fragmentar.

localField :especifica el campo desde la entrada de documentos hasta la etapa de $búsqueda. $lookup realiza una coincidencia de igualdad en el campo local con el campo extranjero de los documentos de la colección from.

foreignField :especifica el campo de los documentos de la colección from.

as :especifica el nombre del nuevo campo de matriz para agregar a los documentos de entrada. El nuevo campo de matriz contiene los documentos coincidentes de la colección from.

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

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