【发布时间】:2012-02-17 23:59:24
【问题描述】:
我在 mongodb 中有一个大型集合(约 270 万个文档),并且有很多重复项。我尝试在集合上运行ensureIndex({id:1}, {unique:true, dropDups:true})。 Mongo 在它决定 too many dups on index build with dropDups=true 之前对其进行了一段时间的搅动。
如何添加索引并消除重复项?或者反过来,删除一些 dup 以便 mongo 可以成功构建索引的最佳方法是什么?
对于奖励积分,为什么对可以丢弃的重复次数有限制?
【问题讨论】:
-
作为一个选项:运行一个 map/reduce 来计算每个
id的出现次数。然后遍历这个结果集,并为每个带有重复项的id删除所有记录,但首先删除。
标签: mongodb indexing duplicates duplicate-removal