2014-07-23 19 views
30

Sto profilando le query db in MongoDB. Ho seguito il link this. Sto cercando di eliminare tutti i dati dalla raccolta system.profile in modo da poter iniziare nuovamente l'analisi comparativa di query diverse. Ho provato il seguente codice, ma dà un erroreCome eliminare la raccolta system.profile da un MongoDB?

CONSOLE SYNTAX

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

ERRORE

cannot delete from system namespace 

Come faccio a cancellare tutti i dati da tale collezione? Se ciò non è possibile, come posso iniziare la profilazione dall'inizio?

risposta

68

In primo luogo, spegnere la profilazione impostando il livello di 0.

db.setProfilingLevel(0) 

Poi si può semplicemente eliminare la raccolta.

db.system.profile.drop() 

Ora sei libero di andare e ricominciare tutto da capo.

11

Per riff fuori della risposta accettata, è a volte utile da fare in una sola riga:

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

sto trovando anche che l'impostazione delle dimensioni di system.profile a 10 MB (o superiore) piuttosto che il suo predefinito 1 MB è abbastanza utile:

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