【发布时间】:2018-01-10 05:59:04
【问题描述】:
我目前使用的是 MongoDB 3.2。一段时间后,我决定在phone 字段上创建一个索引,该字段目前有很多不明确的值。我没有注意到自 3.0 版以来,dropDupsoption 不再可行。因此,失败的索引确保阻止我插入任何新文档。除了删除有重复phone的文档,还有什么解决办法吗?
【问题讨论】:
-
不。试试这个:
db.collectionName.aggregate([{ $group: { _id:{phone:'$phone'}, list: { $addToSet: '$_id' }}}, { $match: { 'list.1': { $exists: 1 } } }]).forEach(item => { const list = item.list.slice(1); db.collectionName.deleteMany({ _id: { $in: list } }); });
标签: node.js mongodb duplicates