1

我的数据库中有大量数据。我有很多重复的。我想删除所有这些重复项,只保留一个数据,

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

身份证 名称

123 美国广播公司

124 美国广播公司

125 美国广播公司

126 美国广播公司

127 pqr

128 个

我只想保留一个名为“abc”的用户并删除所有其他名为“abc”的用户我如何在 mongodb 中实现它提前谢谢

4

1 回答 1

1

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

所以对于你的例子:

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

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

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

您也可以通过 clent 端执行此操作,但它可能比通过构建索引来执行此操作要慢。

于 2013-02-19T08:50:00.040 回答