На этапе $facet
моего конвейера mongoDB, поскольку некоторые записи ссылаются на один и тот же "customer.id", мне нужно рассчитывать на основе уникальных вхождений "customer.id". Я пробовал это:
"totalCustomers" : [ { $group : { "$customer.id" : { $sum: 1 } } } ]
... но в итоге появляется ошибка: «Имя поля« $ customer »не может быть именем оператора».
Я тоже пробовал это:
"totalCustomers" : [ { "$group" : { "_id" : "$customer.id", "count" : { "$sum" : 1 }}} ]
... который не выдает ошибку, но дает мне все записи, а не числовой счет всех этих записей.
Каков синтаксис для подсчета каждого уникального «$ customer.id» из моего набора данных? Насколько я понимаю, мне нужно использовать $sum
на стадии $group
или $project
, но неясно, как конкретно это должно выглядеть.
Чтобы уточнить, если моя структура данных выглядит следующим образом:
[
{
id: '111',
someProp: <value>,
customer: { id: '222' }
},
{
id: '112',
someProp: <value>,
customer: { id: '222' }
}
]
... Я должен получить "totalCustomers: 1".