qq969068709
陌路渐远
采纳率2.4%
2019-01-11 17:15 阅读 831

mongodb语句如何顺利在java中执行

10

mongodb语句如下,由于数据量太大,每次执行职能删除小部分数据,需重复执行,决定做成小程序,后台自动循环执行,在转java语言执行以下
脚本时遇到困难,无法转换成功,哪位大神有方法实现,请指教
db.info.aggregate([{
$sort: {
_id:1
}
},
{
$group:{
_id: {c1: "$c1",c2:"$c2",c3:"$c3",c4:"$c4"},
count: {$sum: 1},//取得总数
dups: {$addToSet: '$_id'}//暂存_id到set
}
},{
$match:{
count:{$gt:1}//只找出大于1的重复数据

}
}
],{
allowDiskUse:true//因为数据超过16M,得使用硬盘缓存
}).forEach(function(doc){
doc.dups.shift();//把数组的第一个元素从其中删除,并返回第一个元素的值,即不删除第一条
db.info.remove({_id: {$in: doc.dups}});//移除掉剩下的重复数据
})

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

相关推荐