gpt4 book ai didi

java - 如何从 MongoDB 集合中删除重复项

转载 作者:可可西里 更新时间:2023-11-01 10:43:21 25 4
gpt4 key购买 nike

我在 mongodb 中有大量文档(约 270 万个文档),并且有很多重复项。我尝试在集合上运行 ensureIndex({id:1}, {unique:true, dropDups:true})

它向我显示了这个错误:

{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"ok" : 0,
"errmsg" : "too may dups on index build with dropDups=true",
"code" : 10092
}

主要问题是我无法重新插入文档。

最佳答案

也许不是一个很好的解决方案,但您可以定义一个新集合并将其命名为 coll2

在上面定义你的唯一索引。

阅读第一个集合中的所有项目。

db.collection.find().addOption(DBQuery.Option.awaitData).forEach(function(doc)
{
db.coll2.insert(doc, {continueOnError: true})
});

之后,删除您的旧集合并将 coll2 重命名为您的旧集合名称

对于 270 万个文档,这需要一些时间

关于java - 如何从 MongoDB 集合中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27982402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com