欢迎光临
我们一直在努力

pymongo 常用操作

mongodb去重操作(针对 大量数据)

db.getCollection('表名').aggregate([
    {
        $group: { _id: {name: '$name'},count: {$sum: 1},dups: {$addToSet: '$_id'}}
    },
    {
        $match: {count: {$gt: 1}}
    }
]//加上这个条件就是避免出现超出内存阈值的异常
 { allowDiskUse: true }
).forEach( //(使用forEach循环根据_id删除数据)
    function(doc){ 
        doc.dups.shift(); 
        db.getCollection('表名').remove(
            {
                _id: {
                    $in: doc.dups
                }
            }
        ); 
    }
)

 

未经允许不得转载:乌西塔 » pymongo 常用操作
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址