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

Hvordan forespørger jeg refererede objekter i MongoDB?

Du kan nu gøre det i Mongo 3.2 ved hjælp af $lookup

$lookup tager fire argumenter

from :Specificerer samlingen i den samme database, der skal udføres sammenkædningen med. Fra-samlingen kan ikke sønderdeles.

localField :Specificerer feltet fra dokumentinput til $opslagsstadiet. $lookup udfører en lighedsmatch på localField til fremmedField fra dokumenterne fra fra-samlingen.

foreignField :Angiver feltet fra dokumenterne i fra-samlingen.

as :Angiver navnet på det nye matrixfelt, der skal tilføjes til inputdokumenterne. Det nye array-felt indeholder de matchende dokumenter fra fra-samlingen.

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

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


  1. Sådan sikrer du, at dine MongoDB-klynger kan overleve Amazon AWS-udfald?

  2. Indstilling af udløbstid for en samling i mongodb ved hjælp af mongoose

  3. SQL COALESCE() Forklaret

  4. Mongodb finds returnerende dokumentbestilling