MongoDB 删除操作不删除索引

MongoDB Remove operation does not remove indexes

我们收集了数百万条具有必要索引的记录。我们已经开始归档数据,同时我们从生产集合中删除数据。

现在,索引不会随数据一起删除。

有什么方法可以将索引与数据一起删除。谢谢。

例如,

备份前: 记录数 - 58002174, 索引大小 - 10.3 GB

备份后: 记录数 - 169376, 索引大小 - 10.3 GB

记录数少了很多。但是,索引大小并没有减少。我需要减小索引大小。

尝试压缩命令:https://docs.mongodb.com/manual/reference/command/compact/#dbcmd.compact

它被通告给 "rewrite and defragment all data and indexes in a collection"。

您可以在批量删除后重建索引以减小其大小:

db.collection.reIndex()

请参阅链接文档中有关锁定和分片的警告。

或者只是删除索引并重新创建它。如果需要,这将允许您在后台重新创建它。