есть в его поле, и я хочу посчитать по всей коллекции сколько документов с записями каждого типа у меня есть.
Для этого естественно есть $unwind и $group по типу, но чтобы посчитать уники приходится добавлять в пайплайн $group по _id - и этот подход мне не нравится, так как по сути мы группируем к большому числу разных значений, это вроде как плохо?
Какие у меня есть еще варианты?
Разобрался, я соскоблил все неуникальные поля внутри массива через проекцию, а затем использовал $setUnion для отсева уников: { "$addFields": { "Array": { "$reduce": { "input": "$Array", "initialValue": [], "in": { "$setUnion": ["$$value", ["$$this"]] } } } } }
Обсуждают сегодня