2014-07-23 6 views
30

Ich profile die DB-Abfragen in MongoDB. Ich folgte this Link. Ich versuche alle Daten aus dem collection system.profile zu löschen, damit ich wieder verschiedene Abfragen durchführen kann. Ich habe versucht, den folgenden Code, aber es gibt einen FehlerWie lösche ich die system.profile-Sammlung von einer MongoDB?

KONSOLE SYNTAX

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

ERROR

cannot delete from system namespace 

Wie lösche ich alle Daten aus dieser Sammlung? Wenn das nicht möglich ist, wie kann ich von Anfang an mit dem Profiling beginnen?

Antwort

68

Erstens schalten Sie die Profilierung durch Einstellen seiner Ebene 0.

db.setProfilingLevel(0) 

Dann können Sie einfach fallen die Kollektion ab.

db.system.profile.drop() 

Jetzt können Sie loslegen und alles neu beginnen.

11

Um aus der akzeptierten Antwort Riff, es manchmal hilfreich in einer einzigen Zeile zu tun:

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

Ich finde auch, dass die Größe der system.profile zu 10MB Einstellung (oder größer) eher als sein Standard 1MB ist ziemlich hilfreich:

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