mongo 4.0

    1. db.article.aggregate(
    2. [{
    3. $group: {
    4. _id:{pmid:'$pmid'},
    5. count:{$sum:1},
    6. dups:{$addToSet: '$_id'},
    7. }
    8. },
    9. {
    10. $match:{count:{$gt:1}}
    11. }],
    12. {
    13. allowDiskUse:true
    14. }
    15. ).cursor.firstBatch.forEach(function(it) {
    16. it.dups.shift();
    17. db.article.remove({_id: {$in: it.dups}});
    18. });

    mongo 3.x

    1. db.article.aggregate(
    2. [{
    3. $group: {
    4. _id:{pmid:'$pmid'},
    5. count:{$sum:1},
    6. dups:{$addToSet: '$_id'},
    7. }
    8. },
    9. {
    10. $match:{count:{$gt:1}}
    11. }],
    12. {
    13. allowDiskUse:true
    14. }
    15. ).forEach(function(it) {
    16. it.dups.shift();
    17. db.article.remove({_id: {$in: it.dups}});
    18. });

    参考