MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como faço para consultar objetos referenciados no MongoDB?


Agora você pode fazer isso no Mongo 3.2 usando $lookup

$lookup leva quatro argumentos

from :especifica a coleção no mesmo banco de dados com a qual realizar a junção. A coleção de não pode ser fragmentada.

localField :Especifica o campo da entrada de documentos para o estágio $lookup. $lookup executa uma correspondência de igualdade no localField para o ForeignField dos documentos da coleção from.

foreignField :especifica o campo dos documentos na coleção de.

as :Especifica o nome do novo campo de matriz a ser adicionado aos documentos de entrada. O novo campo de matriz contém os documentos correspondentes da coleção de.
db.Foo.aggregate(
  {$unwind: "$bars"},
  {$lookup: {
    from:"bar",
    localField: "bars",
    foreignField: "_id",
    as: "bar"

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