开发者社区> 涂宗勋> 正文

mongodb去除重复的数据

简介: 里边的内容在某些情况下不可行,可以参考下一篇。 今天出现了一个新的需求,有个部门需要拿到mongodb中的数据,要求去掉其中一个字段内容相同的数据。 虽然mongodb中有distinct来去重,但是和mysql的distinct不同的是,mysql中能用distinct * 返回整条记录的信息,而mongodb的distinct我却只是返回去重的那个字段的数据(或许mongodb也可以返
+关注继续查看
里边的内容在某些情况下不可行,可以参考下一篇。

今天出现了一个新的需求,有个部门需要拿到mongodb中的数据,要求去掉其中一个字段内容相同的数据。

虽然mongodb中有distinct来去重,但是和mysql的distinct不同的是,mysql中能用distinct * 返回整条记录的信息,而mongodb的distinct我却只是返回去重的那个字段的数据(或许mongodb也可以返回整条,但是我不知道)。

mysql中的distinct返回完整记录:


mongodb中distinct去重某个字段:


上边的内容并不是我想看到的结果,因此便想了一个办法,去掉重复的数据后重新保存不重复的数据到某张表中,以下是个例子:
1、进入mongo shell:
./mongo

2、切换到需要去重的集合所在的数据库:
use admin

3、在mongo shell中编写并执行js代码:
var res=db.test.find();
while(res.hasNext()){
      var res1=db.test.find(); 
      var re=res.next();
      while(res1.hasNext()){
              var re1=res1.next();
              if(re.age==re1.age){ 
                   db.test.remove({"age":re1.age}); 
               }
       } 
       db.test.insert(re); 
}



如上图,第一次执行循环的时候由于res没有定义而失败,第二次定义了res后,执行成功。那么在新的集合中,就完全没有该字段重复的数据了(这里只是测试以下,因此就用了同一个集合)。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MongoDB数据的导出导入及日志分析
MongoDB数据的导出导入及日志分析
87 0
《Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式》电子版地址
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式
9 0
《MongoDB处理大量级用户行为数据-企业数字营销平台应用》电子版地址
MongoDB处理大量级用户行为数据-企业数字营销平台应用
28 0
MongoDB数据的导入与导出
MongoDB数据的导入与导出
186 0
MongoDB数据的安装与启动
MongoDB数据的安装与启动
69 0
SpringBoot2.x使用MongoDB的Rest端点访问数据
在之前项目中我们想要读取`MongoDB`内的内容需要使用`MongoDBTemplate`来完成数据的`CRUD`,那如果我们想要通过`RestController`的形式获取`MongoDB`内的数据就更麻烦了,还需要自行去创建对应的控制器,然后使用`MongoDBTemplate`从`MongoDB`内读取出数据后返回给前端。
92 0
Mongodb的修改数据讲解|学习笔记
快速学习 Mongodb 的修改数据讲解
87 0
《MongoDB 应用数据平台助力快速构建您的应用》电子版地址
MongoDB 应用数据平台助力快速构建您的应用.ppt
18 0
MongoDB新愿景及功能:致力成为开发者数据平台提供商
MongoDB Atlas引入一套统一的新功能, 以满足开发者在构建现代应用程序方面日益增长的数据需求
102 0
+关注
涂宗勋
认真生活,快乐工作,保持理想!https://blog.csdn.net/tuzongxun
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
MongoDB 应用数据平台助力快速构建您的应用
立即下载
MongoDB与大数据
立即下载
阿里云MongoDB备份恢复功能说明和原理介绍
立即下载