За да имитирате функционалност на $addToSet оператор за актуализиране с $each модификатор в конвейера за агрегиране, можете да използвате комбинация от $push на етап групиране и $reduce + $setUnion на етап на проекция. Напр.:
db.collection.aggregate([
{$group:{
_id: null,
selectedTags: { $push: '$tags' }
}},
{$project: {
selectedTags: { $reduce: {
input: "$selectedTags",
initialValue: [],
in: {$setUnion : ["$$value", "$$this"]}
}}
}}
])
резултати с един документ, който съдържа отделен списък с тагове от всички документи в selectedTags
масив.