Ich habe Sammlung Schema wie:Aggregate auf Basis von Array-Wert
{
"_id" : ObjectId("582ee289618a504e5c830e03"),
"updatedAt" : ISODate("2016-11-24T05:01:59.470Z"),
"createdAt" : ISODate("2016-11-18T11:14:17.912Z"),
"requestId" : "IER5R2H",
"pickupDetails" : {
"_id" : ObjectId("58367447b0a1ada74ad7af7e"),
"itemsCount" : 1,
"pickupItems" : [
{
"name" : "Newspaper",
"quantity" : 15,
"unit" : "kg",
"unitPrice" : 9,
"amount" : 135,
"_id" : ObjectId("58367447b0a1ada74ad7af7f")
}
]
}}
{
"_id" : ObjectId("58fff31a618a504e5c831191"),
"updatedAt" : ISODate("2016-11-21T13:37:51.267Z"),
"createdAt" : ISODate("2016-11-19T06:37:14.857Z"),
"requestId" : "M7OZY9O",
"pickupDetails" : {
"_id" : ObjectId("5832f8afb8ec77fa3c518f97"),
"itemsCount" : 2,
"pickupItems" : [
{
"name" : "Newspaper",
"quantity" : 18,
"unit" : "kg",
"unitPrice" : 11,
"amount" : 198,
"_id" : ObjectId("5832f8afb8ec77fa3c518f98")
},
{
"name" : "Plastic",
"quantity" : 4,
"unit" : "kg",
"unitPrice" : 11,
"amount" : 44,
"_id" : ObjectId("584a853e46c71be3585bfb5a")
}
]
}}
Ich brauche die Menge hinzuzufügen, auf dem Namen des pickupItems basiert wie „Zeitung“ usw. Es wäre Menge Zeitung für einen bestimmten Tag. Gemäß den folgenden Daten sollte das Ergebnis für ein bestimmtes Datum wie {"Newspaper": 33} aussehen.
gibt es die Möglichkeit von zwei Zeitungen im selben Array (wie bei verschiedenen unitPrice)? und willst du das Auftreten zählen? oder Summe der "Menge"? –
Nein, es gibt keine Möglichkeit von zwei Zeitungen in der gleichen Reihe und ich möchte die Summe der Menge von 'pickupItems'. wie {{"Zeitung": 33}, {"Plastik": 4}} –