mongo命令行下去除重复的数据

  好久没有写博客了,前段时间才换了工作,一直很忙,抽不出时间来写,当时暗下决心要每周至少写一篇,记录自己工作中踩过的坑和掌握的一些技巧,但每天要忙的事太多了,还要花时间学习其他的新知识,所以博客的事就抛到脑后了。

  今天写了个爬虫,发现数据有问题,一查才发现,有些数据重复了,我用的数据库是mongo3.2版本的,于是上网查了下,怎么删除mongo重复的数据,结果是查到了,但是我的数据库达到百万条,命令处理不了,报错了,于是又去网上查了一下解决方案,最后终于搞定了。

  现在我总结一下在大数据下mongo怎么去重的

1
2
3
4
5
6
7
8
9
10
11
12
13
db.<strong>cps_goods</strong>.aggregate([
    {
        $group: { _id: {<strong>product_url: '$product_url'</strong>},count: {$sum: 1},dups: {$addToSet: '$_id'}}
    },
    {
        $match: {count: {$gt: 1}}
    }
],{
         allowDiskUse: true
     }).forEach(function(doc){
    doc.dups.shift();
    db.<strong>cps_goods</strong>.remove({_id: {$in: doc.dups}});
})

  关键是 allowDiskUse: true 这个,加上这个就不会出错了

 

参考博文:

 
有什么不对的欢迎评论留言,谢谢
posted @   tk2049jq  阅读(1321)  评论(0编辑  收藏  举报
编辑推荐:
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee
点击右上角即可分享
微信分享提示