Ich versuche, die Aggregation Framework in Spring-Daten MongoDB verwenden, um die folgende Abfrage in Java zu erstellen. Die Dokumentation zur Aggregation ist ziemlich schlecht.Push mehr als ein Element in einer Gruppe mit Push
Wie kann ich drehen Sie den DSL in dieser Abfrage
{$unwind : "$item"},
{$unwind : "$item.itemSubSection"},
{$unwind : "$item.itemSubSection.itemProperties"},
{$match : {
"item.itemSubSection.itemProperties.itemName" : {$nin: ["someItem",
"someOtherItem"]}}
},
{$match : {"item.itemSubSection.itemProperties.someProperty" : {$exists : true}}},
{$group :
{ _id: "$_id",
itemId: {$first : "$itemId"},
name : {$first : "$name"},
version : {$first : "$version"},
itemData: {$push : {label : "$item.itemSubSection.itemProperties.data.someData",
userValue : "$item.itemSubSection.itemProperties.itemValue"}},
createdDateTime : {$first : "$createdDatetime"}
}}
Insbesondere dieser Teil
itemData: {$push : {label : "$item.itemSubSection.itemProperties.data.someData",
value: "$item.itemSubSection.itemProperties.itemValue"}}
push() scheint nur, damit Sie ein Element hinzufügen? Die In-Code-Dokumentation ist grundsätzlich nicht vorhanden.
Die Ausgabe dieser Abfrage in der Schale für diesen Abschnitt ist:
"itemData" : [
{
"label" : "xxyyy",
"value" : "123456789012"
},
{
"label" : "tttyyyyy",
"value" : "234DGD"
},
{
"label" : "sdfsfsdf",
"value" : "TR"
}]
Vielen Dank im Voraus
Großartig, vielen Dank für Ihre Hilfe! –