我即将删除一个包含20M文档的集合,是否会锁定其他集合上的其他插入?还是锁定数据库?它的大小约为20GB,并且有实时流量插入另一个集合。我害怕掉线。
答案 0 :(得分:1)
根据文件,它会 “T ...在受影响的数据库上获取写锁定,并在完成之前阻止其他操作。”
请参阅https://docs.mongodb.org/v2.6/reference/method/db.collection.drop/
答案 1 :(得分:0)
根据this" drop collection"将要锁定整个数据库,直到操作完成。 如果要加快速度,可以逐个删除所有索引,然后删除所有索引。这样就可以花更少的时间来完成。
回答上述有关空间的问题 - mongodb不会释放收集所使用的空间,为此,您应该使用repairDatabase。但要非常小心,它会在很长一段时间内阻止你的数据库。此外,它还需要至少有大量带有db
的光盘上的可用空间