MongoDB查询删除集合中的重复文档
问题描述:
我从搜索框中获取数据,然后使用常规插入查询作为文档插入到MongoDB中。数据以下列格式存储在单词“癌症”的集合中,并带有唯一的“_id”。MongoDB查询删除集合中的重复文档
{
"_id": {
"$oid": "553862fa49aa20a608ee2b7b"
},
"0": "c",
"1": "a",
"2": "n",
"3": "c",
"4": "e",
"5": "r"
}
每个文档都有一个单词存储在上述相同的格式。我有很多这样的文件。现在,我想从集合中删除重复的文档。我无法想出办法做到这一点。帮我。
答
在蒙戈外壳简单的解决办法:`
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')
笔记:
- 如果你有很多文件,预计此过程将需要很长的 时间
- 小心这将删除文件,更好地克隆你的收藏,并在那里尝试。
请问http://stackoverflow.com/questions/14184099/fastest-way-to-remove-duplicate-documents-in-mongodb有帮助吗?或http://stackoverflow.com/questions/13190370/how-to-remove-duplicates-based-on-a-key-in-mongodb? – Zee
不是苏拉比。在这里,我很困惑为什么一个词的字母被分配一个值。 – Vamshi
通常情况下,你会这样做,通过使单词为关键字,因为这是唯一的 – Sammaye