MongoDB 从集合中删除重复文档的查询
MongoDB query to remove duplicate documents from a collection
我从搜索框中获取数据,然后使用常规插入查询将数据作为文档插入 MongoDB。数据以以下格式存储在单词 "cancer" 的集合中,具有唯一的“_id”。
{
"_id": {
"$oid": "553862fa49aa20a608ee2b7b"
},
"0": "c",
"1": "a",
"2": "n",
"3": "c",
"4": "e",
"5": "r"
}
每个文档都有一个单词,以与上述相同的格式存储。我有很多这样的文件。现在,我想从集合中删除重复的文档。我想不出办法做到这一点。帮帮我。
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')
备注:
- 如果您有很多文档,预计此过程会花费很长时间
时间
- 小心 这会删除原地的文件,最好先克隆你的 collection 然后在那里试试。
我从搜索框中获取数据,然后使用常规插入查询将数据作为文档插入 MongoDB。数据以以下格式存储在单词 "cancer" 的集合中,具有唯一的“_id”。
{
"_id": {
"$oid": "553862fa49aa20a608ee2b7b"
},
"0": "c",
"1": "a",
"2": "n",
"3": "c",
"4": "e",
"5": "r"
}
每个文档都有一个单词,以与上述相同的格式存储。我有很多这样的文件。现在,我想从集合中删除重复的文档。我想不出办法做到这一点。帮帮我。
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')
备注:
- 如果您有很多文档,预计此过程会花费很长时间 时间
- 小心 这会删除原地的文件,最好先克隆你的 collection 然后在那里试试。