1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| db.record.aggregate([{
$group: {
_id: {
field: '$field'
},
count: {
$sum: 1
},
dups: {
$addToSet: '$_id'
}
}
},
{
$match: {
count: {
$gt: 1
}
}
}]).forEach(function(it) {
it.dups.shift();
db.record.remove({
_id: {
$in: it.dups
}
});
});
|