Я новичок в Пн go, поэтому, если это базовый c вопрос, я прошу прощения.
У меня есть несколько документов, в которых есть массивы с вложенными объектами, к которым я пытаюсь запросить получить среднее значение для указанного типа c.
Пример структуры документа:
_id: ObjectID("ABC123")
StoreItems: Array
0: Object
Type: "Apple"
Color: "Green"
Size: "Small"
Weight: "5"
1: Object
Type: "Orange"
Color: "Orange"
Size: "Small"
Weight: "8"
2: Object
Type: "Grapes"
Color: "Green"
Size: "Small"
Weight: "8"
Я хочу запрос, который может сгруппировать все типы, равные яблокам, и получить средний вес. Я привык делать это с SQL, но эта логика c, похоже, здесь не применима. Это то, что я получил до сих пор и на данный момент застрял:
$unwind: {
path: "$StoreItems"
},
{
$group: {
"_id": "$StoreItems.Type",
"count": {
$avg: "$StoreItems.Weight"
}
}
Не уверен, как включить его, чтобы найти Type = Apple
, а затем получить среднее значение для веса