У меня есть поддокумент с массивом имен. Я хочу количество уникальных имен в коллекции. Документ выглядит следующим образом:Подсчет уникальных элементов в массиве поддокументов
{name: "salesman",
people: [{name: "Joe"}, {name: "Brian"}]}
Я бежал:
db.jobs.aggregate([
{$unwind: "$job.people"},
{$group: {_id: "$job.people.name"}},
{$group: {_id: null, total: {$sum: 1}}}
]);
Это похоже на работу, но так как есть много уникальных имен в БД я не очень хороший способ проверяя, что это правильно, поэтому я решил проверить здесь.
Есть ли предпочтительный метод подсчета количества уникальных элементов в массиве поддокумента?
@ JohnnyHK да, это гораздо лучший способ сделать это; вы можете ответить на этот вопрос, и я приму это. –