2014-07-23 113 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); 
相关问题