Какой вариант лучше всего подходит для удаления всех элементов большой коллекции из активно используемой базы данных prod? Bulk.find ({}). Remove () vs removeAll () vs dropCollection () или, может быть, другая стратегия?
Согласно документации mongo, dropCollection блокирует всю БД, где находится коллекция, пока она продолжается, что неприемлемо для интенсивно используемой базы данных prod.
С точки зрения времени, removeAll () занимает немного больше времени по сравнению с bulk.find ({}). Remove () (каждый тестировался на одной и той же коллекции примерно ~ 700 КБ).
Кроме того, не уверен, что вы используете, но в официальной спецификации API метод будет deleteMany(). Методы с именем remove фактически устарели, и я не знаю ни одного официального драйвера, использующего removeAll(). И, к вашему сведению, deleteMany() и фактически ВСЕ такие операции для MongoDB API фактически используют «Bulk» API напрямую. Таким образом, вызовы - это одно и то же.

Кроме того, пожалуйста, воздержитесь от размещения каких-либо вопросов типа "Что лучше?". Такие вопросы, в основном, являются самоуверенными, и очень редко бывает, чтобы кто-то действительно высказал мнение экспертов. По этой причине они в основном "не по теме" и сразу удаляются с этого сайта. Что касается общего формата того, что вы разместили здесь, то вашей собственной «оценки производительности» должно быть достаточно, чтобы вы могли решить, что вы хотите использовать.