Подтвердить что ты не робот

Как удалить сборку system.profile с MongoDB?

Я профилирую db-запросы в MongoDB. Я последовал за этой ссылкой. Я пытаюсь удалить все данные из коллекции system.profile, чтобы снова начать повторное тестирование различных запросов. Я пробовал следующий код, но он дает ошибку

СИНТАКСИС КОНСОЛИ

> db.system.profile.remove({})

ОШИБКА

cannot delete from system namespace

Как удалить все данные из этой коллекции? Если это невозможно, как начать профилирование с самого начала?

4b9b3361

Ответ 1

Во-первых, выключите профилирование, установив его уровень на 0.

db.setProfilingLevel(0)

Затем вы можете просто удалить коллекцию.

db.system.profile.drop()

Теперь вы можете пойти и начать все это.

Ответ 2

Чтобы избавиться от принятого ответа, иногда полезно делать в одной строке:

db.setProfilingLevel(0); db.system.profile.drop(); db.setProfilingLevel(2);

Я также считаю, что установка размера файла system.profile на 10 МБ (или больше), а не на его 1МБ по умолчанию, весьма полезна:

db.setProfilingLevel(0); db.system.profile.drop(); db.createCollection("system.profile", {capped: true, size: 10 * 1024 * 1024}); db.setProfilingLevel(2);