2014-07-23 148 views
30

我正在分析MongoDB中的db查詢。我跟着this鏈接。我試圖從集合system.profile中刪除所有數據,以便我可以再次開始對不同的查詢進行基準測試。我試着下面的代碼,但它給出了一個錯誤如何從MongoDB中刪除system.profile集合?

console語法

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

錯誤

cannot delete from system namespace 

如何從該集合刪除所有數據?如果這是不可能的,我怎樣才能從頭開始分析?

回答

68

首先,通過設置其水平關閉剖析0

db.setProfilingLevel(0) 

然後,你可以簡單地刪除集合。

db.system.profile.drop() 

現在你可以自由地開始它了。

11

要即興關閉接受的答案,它是有時有用以單行做:

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

我還發現system.profile的大小設置爲10MB(或更大)而不是默認的1MB是相當有幫助的:

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