IDC资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回IDC资讯列表

mongodb删除重复数据方法

发布时间:2023-04-07

MongoDB中可以使用以下几种方式删除重复数据:


使用distinct()命令去除重复项并将结果保存到一个新的集合中。例如,以下命令将名为users的集合中name字段的重复值去除,并将结果保存到新的集合unique_users中:


db.users.aggregate([ { $group: { _id: "$name", count: { $sum: 1 }, unique_ids: { $addToSet: "$_id" } } }, 

          { $match: { count: { $gte: 2 } } }, 

          { $out: "unique_users" } ])

使用deleteMany()命令删除集合中所有重复数据。例如,以下命令将名为users的集合中name字段出现多次的文档都删除:


db.users.aggregate([

    { $group: { _id: { name: "$name" }, dups: { $push: "$_id" }, count: { $sum: 1 } } },

    { $match: { count: { $gt: 1 } } }

]).forEach(function(doc) {

    doc.dups.shift();

    db.users.deleteMany({ _id: { $in: doc.dups } });

})

需要注意的是,在删除重复数据之前必须了解业务需求及对重复数据的容忍度。某些情况下可以忽略存在的重复数据,而不会对业务造成影响。


TikTok千粉号购买平台:https://tiktokusername.com/