Ответ 1
Во-первых, выключите профилирование, установив его уровень на 0.
db.setProfilingLevel(0)
Затем вы можете просто удалить коллекцию.
db.system.profile.drop()
Теперь вы можете пойти и начать все это.
Я профилирую db-запросы в MongoDB. Я последовал за этой ссылкой. Я пытаюсь удалить все данные из коллекции system.profile, чтобы снова начать повторное тестирование различных запросов. Я пробовал следующий код, но он дает ошибку
СИНТАКСИС КОНСОЛИ
> db.system.profile.remove({})
ОШИБКА
cannot delete from system namespace
Как удалить все данные из этой коллекции? Если это невозможно, как начать профилирование с самого начала?
Во-первых, выключите профилирование, установив его уровень на 0.
db.setProfilingLevel(0)
Затем вы можете просто удалить коллекцию.
db.system.profile.drop()
Теперь вы можете пойти и начать все это.
Чтобы избавиться от принятого ответа, иногда полезно делать в одной строке:
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);