MongoDB怎么去除大量重复的数据
程序员文章站
2024-03-25 17:20:10
...
本文虽然不是完全转载,但是思路及代码均是借鉴于☞不会编程的小猿☜博主的csdn博客,传送门如下:
使用python爬虫采集数据通常会存放到MongoDB数据库中,那采集到的数据可能就会有大量的重复,那么有什么思路能够去重呢,可以使用MongoDB命令对mongo去重,也可以使用第三方库pandas对MongoDB去重,使用pandas很容易,那么怎么使用MongoDB命令对数据库去重呢
首先建立一个有少量重复数据的MongoDB数据库用以模拟
首先,我的数据库名为 subject,集合名为 info
在Navicat中查看一下数据库
使用数据库命令看一下有多少条数据db.集合名.count()
看来有59条数据,但是不重复的数据只有5条,用字典形式展示为:
{‘name’:‘python’,‘age’:31},{‘name’:‘java’,‘age’:30},{‘name’:’.net’,‘age’:28},{‘name’:‘c++’,‘age’:35},{‘name’:‘c’,‘age’:35}
其余都是重复的数据
那么就可以在mongo shell里输入命令进行去重了
db.info.aggregate([
{
$group: { _id:'$name',count: {$sum: 1},dups: {$addToSet: '$_id'}}
},
{
$match: {count: {$gt: 1}}
}
],{allowDiskUse: true}).forEach(
function(doc){
doc.dups.shift();
db.info.remove(
{
_id: {
$in: doc.dups
}
}
);
}
)
然后,结果如下:
至于代码中的一些参数,如果不懂的话可以去原博主的博客里看,也可以去网上查,我就不再描述了,原博客的传送门在文章最上方
嗯,就这样了
上一篇: Fedora 31安装docker
下一篇: 第一课.深度学习简介
推荐阅读
-
MongoDB怎么去除大量重复的数据
-
robo 3t mongodb 去除重复数据的简单语句
-
MongoDB 在多线程高并发下的问题 博客分类: MongoDB MongoDB高并发重复数据DB
-
MongoDB 在多线程高并发下的问题 博客分类: MongoDB MongoDB高并发重复数据DB
-
Java实现数组去除重复数据的方法详解
-
Java实现数组去除重复数据的方法详解
-
数据库 - PHP读写MongoDB,shell读写MongoDB,兵分两路操作,怎么数据还是相互隔离的?
-
请问怎么判断写入数据库失败是因为重复的原因
-
在php中怎么解决大量数据处理的问题
-
php文本数据,怎么显示重复数据?再如何删除重复数据只保留重复数据中的一条