我在 MongoDB 中有一个集合,其中大约有(约 200k 条记录)。我的样本记录看起来像,
{
name:String,
slug:String,
metaDes:String,
content:String,
parentID:String,
thumbnail:String,
display:Boolean,
}
我的集合中有很多重复的记录,它们具有相同的 slug
我想根据slug
删除重复记录
有没有快速的方法可以用 mongoose(Nodejs) 删除所有重复项?
谢谢!
最佳答案
删除集合中具有相同slug
的重复记录
db.table.aggregate([
{
"$group": {
_id: {slug: "$slug"},
slugs: { $addToSet: "$_id" } ,
count: { $sum : 1 }
}
},
{
"$match": {
count: { "$gt": 1 }
}
}
]).forEach(function(doc) {
doc.slugs.shift();
db.table.remove({
_id: {$in: doc.slugs}
});
})
引用link
关于javascript - 如何使用 mongoose(NodeJS) 删除 mongoDB 中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61167739/