$lookup) ObjectId ' s in ein array

Was ist die syntax für eine $lookup auf ein Feld, das ein array von ObjectIds, anstatt nur einer einzigen ObjectId?

Beispiel Um Dokument:

{
  _id: ObjectId("..."),
  products: [
    ObjectId("..<Car ObjectId>.."),
    ObjectId("..<Bike ObjectId>..")
  ]
}

Nicht Funktioniert-Abfrage:

db.orders.aggregate([
    {
       $lookup:
         {
           from: "products",
           localField: "products",
           foreignField: "_id",
           as: "productObjects"
         }
    }
])

Gewünschte Ergebnis

{
  _id: ObjectId("..."),
  products: [
    ObjectId("..<Car ObjectId>.."),
    ObjectId("..<Bike ObjectId>..")
  ],
  productObjects: [
    {<Car Object>},
    {<Bike Object>}
  ],
}
Ist mein Beispiel mit Bestellung Dokuments nicht klar genug? möchten Sie Beispiel-Dokumente für die Produkte aus?
SERVER-22881 verfolgen array funktioniert wie erwartet (nicht wie eine wörtliche Wert).

InformationsquelleAutor Jason Lin | 2016-01-23

Schreibe einen Kommentar