MongoDB查询从集合中删除重复文档

时间:2015-04-23 09:05:55

标签: javascript mongodb mapreduce mongodb-query no-duplicates

我从搜索框中获取数据,然后使用常规插入查询作为文档插入MongoDB。数据以下列格式存储在“癌症”一词的集合中,并带有唯一的“_id”。

{
  "_id": {
    "$oid": "553862fa49aa20a608ee2b7b"
  },
  "0": "c",
  "1": "a",
  "2": "n",
  "3": "c",
  "4": "e",
  "5": "r"
}

每个文档都有一个单词以与上面相同的格式存储。我有很多文件。现在,我想从集合中删除重复的文档。我无法找到办法做到这一点。帮助我。

1 个答案:

答案 0 :(得分:2)

mongo shell中的简单解决方案:`

use your_db
db.your_collection.createIndex({'1': 1, '2': 1, '3': 1, etc until you reach maximum expected letter count}, {unique: true, dropDups: true, sparse:true, name: 'dropdups'})
db.your_collection.dropIndex('dropdups')

注释:

  • 如果你有很多文件希望这个程序花费很长时间 时间
  • 小心这会删除文档,最好先克隆您的收藏并在那里试用。