首页 » 网站建设 » phpmongodb去反复技巧_mongodb 删除重复数据脚本

phpmongodb去反复技巧_mongodb 删除重复数据脚本

访客 2024-11-24 0

扫一扫用手机浏览

文章目录 [+]
小编

实用主义 - mongodb删除重复数据

1、mongodb 查询重复数据

db.tt_aa.aggregate([{$match:{ST:{$in :["xxx","yyy"]},type:0}}, # 过滤 数据{$group:{_id:{SN:'$ST',TIME:'$TT'},count:{$sum:1},dups: {$addToSet:'$_id'}}}, # 分组 计数{$match:{count:{$gt:1}}} # 匹配 count > 1的 组],{allowDiskUse:true})2、mongodb 删除重复数据

db.tt_aa.aggregate([{$match:{ST:{$in :["xxx","yyy"]},type:0}},{$group:{_id:{SN:'$ST',TIME:'$TT'},count:{$sum:1},dups: {$addToSet:'$_id'}}},{$match:{count:{$gt:1}}}],{allowDiskUse:true}).forEach(function(doc){doc.dups.shift();db.tt_aa.remove({_id:{$in:doc.dups}});})

利用aggregate聚合查询重复数据

phpmongodb去反复技巧_mongodb 删除重复数据脚本

$group中是查询条件,根据content、endTime、startTime字段来聚合相同的数据;$count用来统计重复涌现的次数, $match来过滤没有重复的数据;$addToSet将聚合的数据id放入到dups数组中方便后面利用;

查询结果利用forEach进行迭代id来删除数据

phpmongodb去反复技巧_mongodb 删除重复数据脚本
(图片来自网络侵删)
shift()浸染是剔除行列步队中第一条id,避免删掉所有的数据;

mongo -logo

标签:

相关文章