我使用findOneAndRemove
删除重复项,因为我知道不超过2个文档具有相同的“名称”值。这将删除具有相同“名称”值的doc的第一个实例。现在我不想删除第一个实例。相反,我想删除所有其他的。因此,如果有3个文档具有{name:“/ face.com”},则应该只保留添加的第一个文档并删除其他文档。
Comps.find({}).lean()
.then(function(comps){
findDuplicates.getArrayOfNames(comps);
var dups = findDuplicates.checkForDuplicates();
//dups is an array of names. It contains a list like ["/face.com", "/example.com"]. those are the ones that are duplicates.
console.log("DUPS::", dups)
dups.forEach(function(e){
var query = {name : e}
Comps.findOneAndRemove(query, function(err, removed){
if(err) console.log(err);
console.log("removed: ", removed)
})
})
console.log("length: ", comps.length);
})
.catch(function(err){
console.log("ERR",err)
})