2013-02-19 114 views
1

我的数据库中有大量数据。我有很多重复的东西。我想删除所有这些重复和保持它只是一个数据,我想删除我所有的重复项,并只保留一个重复 - mongodb

例如,我有我的登录对象这样的数据

ID

123 ABC

124 abc

125 abc

个126 ABC

127 PQR

128 PQS

我想保持他的名字是“ABC”只有一个用户,并删除所有其他用户,其名称是“ABC” 我怎样才能实现呢MongoDB中 由于事先

回答

1

一种方法是实际创建的用户名称的唯一索引,并给它一个选项dropDups:http://docs.mongodb.org/manual/core/indexes/#drop-duplicates

小号o例如:

db.user.ensureIndex({name:1},{unique:1,dropDups:true}) 

会在名称上创建一个唯一的索引,将删除所有其他重复项。

当然,这样做的双重好处是,您现在对名称有一个唯一索引,确保您不会再次获得重复。

你也可以通过clent来做到这一点,但它可能比建立一个索引要慢。

+0

酷..工作..谢谢你先生,....... – Sakeer 2013-02-19 09:51:03

+0

@sakeer很高兴有帮助:) – Sammaye 2013-02-19 09:53:14