MongoDB 去重 分组(针对于某个field 或者 组合项的去重)

来源:互联网 发布:程序员岗位职责说明书 编辑:程序博客网 时间:2024/05/20 08:43


Document sss的数据如下:


一.根据成条数据(也就是所有field)来去重:

1. 使用mapRrduce函数来去重:


效果如下:


然后我们可以通过遍历的方式把value的不重复myidagename拼成我们要的document格式。

 

2. 换一下思路,使用$group方式来实现:


得到的结果是:


二.针对于某个field的去重,不care other field

这里我们要是的是针对于myid这个field来去重:

1.用最最老的方法遍历实现:

 

效果如下:

 

 

2.换一下思路:就是在查重后存放的collection,我们能否先定义好要查重的field的unique index,这样我们在insert数据得时候,就不用考虑是否会重复的问题了。我试了一下,结果如下:

先在我们要存放的collection里面建立unique index:myid,

注意:ensureIndex的时候必须先确定你要去重的field在collection里面重复值

 

再通过foreach()方法把数据一一insert到collection里面,

 

效果如下:

 

 

3.通过mapReduce的方法


出来的效果:

 

 

0 0
原创粉丝点击