db.xxx.aggregate([
{
$group: { _id: {barcode: '$barcode', device_code: '$device_code'}, count: {$sum: 1},dups: {$addToSet: '$_id'}}
},
{
$match: {count: {$gt: 1}}
}
],
{allowDiskUse: true}
).forEach(function(doc){
doc.dups.shift();
db.xxx.remove({_id: {$in: doc.dups}});
})