mongodb去重操作只留一条-创新互联

原表记录:
mongodb去重操作只留一条
需要把related_type=1 and action_type=3 并且related_id相同的删掉一条。只留一个去重。
db.user_action_log.aggregate([

站在用户的角度思考问题,与客户深入沟通,找到宁蒗网站设计与宁蒗网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、申请域名虚拟主机、企业邮箱。业务覆盖宁蒗地区。

{$match:{related_type:1,action_type:3}}, (查询条件)
{
$group: { _id: {related_id: '$related_id'},count: {$sum: 1},dups: {$addToSet: '$_id'}} (根据related_id分组,$group只会返回参与分组的字段,使用$addToSet在返回结果数组中增加_id字段)

},

{
    $match: {count: {$gt: 1}}            (匹配数量大于1的数据)
}

]).forEach(function(doc){ (使用forEach循环根据_id删除数据)
doc.dups.shift();
db.user_action_log.remove({_id: {$in: doc.dups}});
})

删除后数据:
mongodb去重操作只留一条

db.user_action_log.aggregate([

{$match:{related_type:1,action_type:3}},
{
$group: { _id: {related_id: '$related_id'},count: {$sum: 1},dups: {$addToSet: '$_id'}}

},

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

]).forEach(function(doc){
doc.dups.shift();
db.user_action_log.remove({_id: {$in: doc.dups}});
})

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:mongodb去重操作只留一条-创新互联
分享路径:http://azwzsj.com/article/gjcdd.html