0

我在 Mongo 有一个非常大的数据库。它有超过 69 000 份文件。

我决定删除其中的大多数。例如,我只想拥有 10 个文档。

如何从终端内部的数据库中随机删除一些文档(直接)?

我已经尝试过db.col_name.remove().limit(20)哪个不起作用。

4

1 回答 1

2

在实施https://jira.mongodb.org/browse/SERVER-1599之前,无法直接执行此操作。

作为一种解决方法,您可以执行以下操作。基本上,获取一批要删除的 _id,然后再执行一次.remove()调用以实际删除它们。

ids_to_remove = []
db.col.find({},{_id:1}).limit(100).forEach(function(doc){ids_to_remove.push(doc._id)});
db.col.remove({_id:{$in:ids_to_remove}})
于 2013-05-23T15:35:40.830 回答