集計パイプラインで$each修飾子を使用して$addToSet更新演算子の機能を模倣するには、グループ化ステージでの$pushと投影ステージでの$reduce +$setUnionの組み合わせを使用できます。例:
db.collection.aggregate([
{$group:{
_id: null,
selectedTags: { $push: '$tags' }
}},
{$project: {
selectedTags: { $reduce: {
input: "$selectedTags",
initialValue: [],
in: {$setUnion : ["$$value", "$$this"]}
}}
}}
])
selectedTags
内のすべてのドキュメントからのタグの個別のリストを含む単一のドキュメントで結果が得られます 配列。