Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb-从非常大的集合中删除重复文档的超时(300M)_Mongodb_Mongodb Query_Robo3t - Fatal编程技术网

mongodb-从非常大的集合中删除重复文档的超时(300M)

mongodb-从非常大的集合中删除重复文档的超时(300M),mongodb,mongodb-query,robo3t,Mongodb,Mongodb Query,Robo3t,我有一个3亿的大收藏&我用下面的方法删除重复的文档 db.coll.distinct(index}).forEach(function(index) { db.coll.aggregate([ { $match: { id: index } }, { $group: { _id: { id: "$id", key: "$key" }, date: { $first: "$date"

我有一个3亿的大收藏&我用下面的方法删除重复的文档

db.coll.distinct(index}).forEach(function(index) {
  db.coll.aggregate([
    { $match: { id: index } }, 
    { $group: {
        _id: { id: "$id", key: "$key" },
        date: { $first: "$date" }
      }
    }
  ]).forEach(function(doc){
    db.coll.remove({
      'id': doc._id.id,
      'key': doc._id.key,
      'date': { $lt : doc.date }
    })
  })
})
大约有20000份重复文档&每份文档都有2-10份文档的副本。我保留最新文档&删除所有旧文档一次,因此要删除的文档总数约为150k

上面的方法正在工作,但是删除它需要很多时间,这会导致超时

删除9k文档本身需要1-2小时有没有有效的方法删除重复的文档?

PS:id、键和日期没有索引