Mongo数据量大的时候调用去重删除脚本会出现内存溢出,这个时候的最好的做法是先查询存到一张表中,再删除重复的。

首先我们将数据保存成数值类型的:

db.data_collect.find().forEach(function(element){

element.uploadTime = ISODate(element.uploadTime);

element.collectTime = ISODate(element.collectTime);

db.data_collect.save(element);

})

这个最好不用客户端软件执行,因为会出现超时错误提示,但是我这边因为类型混杂,所以还不能用上面的脚步,需要筛选数据类型。

#通过字符类型修改日期

db.getCollection('data_collect').find({collectTime:{$type:9}}).limit(50).forEach(function(doc) {

doc.collectTime=doc.collectTime.valueOf();

db.ddddd.save(doc);

})

保存成日期格式检索就很方便了,这个时候我打算去重删除日期和设备ID两个是重复的字段:

首先客户端登录:
mongo --port 27017 -u "用户名" -p "密码" --authenticationDatabase "admin"

切换到指定的数据库:

use ddddd;

之后将重复的数据存入到某张表中:

#过滤重复的

数据量比较大的时候首先写入到集合中去

db.data_collect.aggregate([

{

$group:{_id:{collectTime:'$collectTime',IMEI:'$IMEI'},count:{$sum:1},dups:{$addToSet:'$_id'}}

},

{

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

},

{

$out:'result_data_collect'

}

],{ allowDiskUse: true } )

之后从这张表中删除重复的数据:

#再删除重复的

db.result_data_collect.find().forEach(function(element){

element.dups.shift();

db.data_collect.remove({_id: {$in: element.dups}});

})

这个时候建立唯一索引就没有太大问题了:

这样检索就会非常快。

element 怎么把数据写到日历表上_当mongo数据量过亿时该如何删除重复的数据相关推荐

  1. element 怎么把数据写到日历表上_数据集 | 地理空间数据云30m的DEM爬取

    DEM数据是我们经常用到的一种数据,小编今天就带大家一块看一下怎么用python来爬取地理空间数据云的30m的DEM数据. 我们要爬取DEM数据首先还是要有一个地理空间数据云的账号.小伙伴们如果没有的 ...

  2. 删除重复的数据保留一条

    Mysql删除重复数据只保留一条_怪 咖@的博客-CSDN博客_mysql删除重复数据保留一条 这个是相关的链接,可以参考.

  3. oracle删除重复字段数据库,用Oracle的分析函数删除重复的数据,

    用Oracle的分析函数删除重复的数据, 用Oracle的分析函数删除重复的数据 没有主键(Primary Key)约束保护的表格可能会让重复的数据行被插入进来.查找这种重复数据的传统方式是通过GRO ...

  4. xlsx表格怎么筛选重复数据_在Excel中怎样筛选以及删除重复的数据呢?

    Excel中大量的公式函数可以应用选择,分析信息并管理电子表格或网页中的数据信息列表与数据资料图表制作,可以实现许多方便的功能,带给使用者方便.今天就跟着小编一起来看一看:在Excel中怎样筛选以及删 ...

  5. SQL_删除重复项数据

    -- 全数据查询: SELECT * FROM TLADDING;-- 查询数据表中数据的总条数: SELECT COUNT(*) FROM TLADDING;-- 删除重复项数据的同时保留其中一项作 ...

  6. Excel中删除重复的数据

    Excel中删除重复的数据 经常碰到excel中重复的数据,如果数量不多,手工删除或许尚可,如果数据比较大,就需要借助计算机拉,一般有两种方法,一种是用Excel中的高级筛选工具,另一种就是我下面说的 ...

  7. mysql数据库删除重复的数据只保留一条

    问题引入 假设一个场景,一张用户表,包含 3 个字段:id,identity_id,name. 现在身份证号 identity_id 和姓名 name 有很多重复的数据,需要删除多余数据只保留一条有效 ...

  8. mysql删除重复的数据保留一条

    mysql删除重复的数据保留一条 -- 删除多余的重复记录,只保留最小id的记录,content 为内容重复字段 DELETE FROM zimis WHERE id IN (SELECT * FRO ...

  9. 内表数据写到服务器上

    不知道为啥这么多的数据要下载,在SAP表里分析不好么? 不过客户的需求五花八门,有需求就要有解决方案.这种大数据下载的,可以先把数据存储到服务器上,然后再下载到本地,比直接使用GUI_DOWNLOAD ...

  10. uniapp 子组件 props拿不到数据_谈一谈使用 webpack 开发时,Vue 组件之间的数据传递...

    •我们在学习Vue的时候,难免会使用各个组件之间传递数据.•先来介绍一下Vue中组件传递的方式,有父组件传递给子组件数据,子组件传递给父组件数据,父组件直接获取子组件中数据,子组件直接获取父组件数据以 ...

最新文章

  1. 简约设计中的规律—色彩(二)
  2. 谷歌地图最新hosts_如何查看2020最新版谷歌地球高精度卫星地图(附下载方法)...
  3. java储存学生档案应该注意事项_档案管理的注意事项有哪些
  4. C# WinForm TreeView用法总结
  5. mongodb用户管理简单记录
  6. MySQL高级 - 日志 - 错误日志
  7. 一个详尽的面向 SAP UI5 初学者的教程 - 如何在 SAP UI5 中绘制图表 Chart
  8. css3 -- 过渡与动画
  9. 【UWP通用应用开发】控件、应用栏
  10. 得到多组单选框的值_多组学如何构建预后预测模型,还发了7分+?
  11. python从入门到放弃pdf下载-《Python3从入门到放弃》视频教程
  12. Ubuntu常用终端命令
  13. [Python 应用:爬虫] Selenium 之 XPath 语法
  14. php ZeroMQ 的使用
  15. mysql数据库的流水号生成,数据库流水号生成解决方案
  16. word默认文字环绕方式是什么_在Word 2010文档中设置图片文字环绕方式
  17. 测试家里网速用什么软件,家中宽带网速多少?教你测试小妙招
  18. 第二章 求之不得,寤寐思服。悠哉悠哉,辗转反侧
  19. vc驿站视频教程笔记4 Cstring 讲解
  20. 【Linux】linux的网络配置(动态IP与静态IP)

热门文章

  1. if else 的或(||)
  2. LVS-三种负载均衡方式比较
  3. ▲▲▲▲▲▲▲▲▲▲▲yum源的配置(本地和ftp)▲▲▲▲▲▲▲▲▲▲▲▲▲v...
  4. Altium Designer生成网表 导出网表【worldsing笔记】
  5. 2)Oracle 公司的产品线介绍
  6. 使用WindowsHooks库制作和使用全局钩子
  7. spring boot 用dbcp2连接数据库出现(Access denied for user 'root'@'localhost' (using password: YES)) 异常
  8. 软件设计原则(四) 里氏替换原则
  9. spring扩展点一:BeanDefinitionRegistryPostProcessor在框架中的应用
  10. 洛谷P2257 YY的GCD(莫比乌斯反演)