Mongodb 指定字段去重操作
程序员文章站
2022-03-07 10:49:30
...
最近自己写的爬虫后的数据存入mongodb存在一些重复数据,在用户查询时可能出现重复选项,这样用户体验不咋好。下面记录如何根据指定字段,对数据库现有数据进行排重。
db.juejin.aggregate([
{ $group: { _id : '$chapterName', count: { $sum : 1 } } },
{ $match: { count: { $gt : 1} } }
])
上面我们根据指定chapterName字段查询出,该字段下相同的数据个个数
db.juejin.aggregate([
{
$group: { _id: {chapterName: '$chapterName'},count: {$sum: 1},dups: {$addToSet: '$_id'}}
},
{
$match: {count: {$gt: 1}}
}
],{allowDiskUse: true}).forEach( //(使用forEach循环根据_id删除数据)
function(doc){
doc.dups.shift();
db.juejin.remove(
{
_id: {
$in: doc.dups
}
}
);
}
)
{allowDiskUse: true}通过使用磁盘进行缓存。
这样我们的重复数据就被删掉了。
上一篇: 微信小程序的页面跳转传值的实现
下一篇: php怎么获取前几天的日期
推荐阅读
-
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
-
Python Dataframe 指定多列去重、求差集的方法
-
C#NPOI.RabbitMQ.EF.Attribute.HttpRuntime.Cache.AD域.List
根据指定字段去重.前端JQuery.Cache.I18N(多语言).data-xx(自定义属性) -
JavaScrip数组去重操作实例小结
-
jQuery简单实现对数组去重及排序操作实例
-
mongodb中使用distinct去重的简单方法
-
MongoDB查询操作限制返回字段的方法
-
搜索功能(五)03-搜索关键字历史重复记录-数组去重操作——es6 set类数组-数据结构-数组去重 & 三个点(...)方法-对象的延展操作-拆解数组
-
Java8-Stream流操作List去重distinct、和指定字段去重(完整实例讲解)
-
摸不着头脑,flatMap处理后居然无法去重(原来是数据库添加字段的时候多了个空格= =)