Involvierte Definitionen
:Veranstaltung
: DEDSReferenz
: @stoerl2024 (p. 9)
⠀
Proposition: MongoDB-Abfrage bei Embedding
Es sei folgende Modellierung gegeben:
Unter Zuhilfenahme der folgenden Abfrage erhalten wir alle Bestellungen zu der Kundennummer 42 (inklusive allen beinhalteten Produkten sowie dem jeweiligen Bestelldatum).
Hierzu:
- suchen wir alle Einträge mit
custId=42
aus derOrder
-Collection,- und wählen via
$project
die beiden FelderorderDate
aus derorder
sowieorderlines.productId
aus der eigebettetenorderline
aus. Das Feld_id
ignorieren wir.db.Order .find( { "custId": 42 }, { "_id": 0, "orderDate": 1, "orderlines.productId": 1 } );
In diesem Fall haben wir für jede
Orderline
ein eignes Objekt. Um diese Objekte aufzulösen und ein Array von Produkt-IDs zu erhalten, könnten wir alternativ$map
benutzen:... { "_id": 0, "orderDate": 1, "product_ids": { "$map": { "input": "$orderlines", "as": "op", "in": "$$op.productId" } } }