यदि आप समान की सूची प्राप्त करना चाहते हैं (_id
. को छोड़कर फ़ील्ड, स्पष्ट रूप से) आपके संग्रह में दस्तावेज़, यहां बताया गया है कि आप यह कैसे कर सकते हैं:
collection.aggregate({
$project: {
"_id": 1, // keep the _id field where it is anyway
"doc": "$$ROOT" // store the entire document in the "doc" field
}
}, {
$project: {
"doc._id": 0 // remove the _id from the stored document because we do not want to compare it
}
}, {
$group: {
"_id": "$doc", // group by the entire document's contents as in "compare the whole document"
"ids": { $push: "$_id" }, // create an array of all IDs that form this group
"count": { $sum: 1 } // count the number of documents in this group
}
}, {
$match: {
"count": { $gt: 1 } // only show what's duplicated
}
})
हमेशा की तरह एकत्रीकरण ढांचे के साथ, आप सभी चरणों पर टिप्पणी करके और फिर चरण दर चरण सब कुछ फिर से सक्रिय करके यह समझने की कोशिश कर सकते हैं कि प्रत्येक चरण में वास्तव में क्या चल रहा है।