एकत्रीकरण पाइपलाइन में $ प्रत्येक संशोधक के साथ $addToSet अद्यतन ऑपरेटर की कार्यक्षमता की नकल करने के लिए आप समूह चरण पर $push और प्रक्षेपण चरण पर $reduce + $setUnion के संयोजन का उपयोग कर सकते हैं। उदा.:
db.collection.aggregate([
{$group:{
_id: null,
selectedTags: { $push: '$tags' }
}},
{$project: {
selectedTags: { $reduce: {
input: "$selectedTags",
initialValue: [],
in: {$setUnion : ["$$value", "$$this"]}
}}
}}
])
एक एकल दस्तावेज़ के साथ परिणाम जिसमें selectedTags
. में सभी दस्तावेज़ों से टैग की एक अलग सूची होती है सरणी।