很久没有写博客了,前段时间才换了工做,一直很忙,抽不出时间来写,当时暗下决心要每周至少写一篇,记录本身工做中踩过的坑和掌握的一些技巧,但天天要忙的事太多了,还要花时间学习其余的新知识,因此博客的事就抛到脑后了。html
今天写了个爬虫,发现数据有问题,一查才发现,有些数据重复了,我用的数据库是mongo3.2版本的,因而上网查了下,怎么删除mongo重复的数据,结果是查到了,可是个人数据库达到百万条,命令处理不了,报错了,因而又去网上查了一下解决方案,最后终于搞定了。python
如今我总结一下在大数据下mongo怎么去重的数据库
db.cps_goods.aggregate([ { $group: { _id: {product_url: '$product_url'},count: {$sum: 1},dups: {$addToSet: '$_id'}} }, { $match: {count: {$gt: 1}} } ],{ allowDiskUse: true }).forEach(function(doc){ doc.dups.shift(); db.cps_goods.remove({_id: {$in: doc.dups}}); })
关键是 allowDiskUse: true 这个,加上这个就不会出错了学习
参考博文:大数据