在我的rails应用程序中,我使用mongoid并在几乎所有查询之前的日志中,即使是在相同的请求中,它也可以
MONGODB dbname['system.namespaces'].find({})
这是做什么的?这是性能问题吗?我可以以某种方式缓存,所以它不必一直这样做或至少阻止它堵塞日志?
编辑:这是日志的相关部分
Processing by FilesController#new as HTML
Started GET "/" for 127.0.0.1 at Fri Sep 09 15:59:43 -0700 2011
[Barista] Compiling all scripts for barista
[Barista] Compiling all coffeescripts
[Barista] Copying all javascripts
MONGODB db['system.namespaces'].find({})
MONGODB db['users'].find({:_id=>BSON::ObjectId('4e6a949935d3e9726b000001')})
MONGODB db['system.namespaces'].find({})
MONGODB db['files'].find({:token=>"nonssb38"})
答案 0 :(得分:2)
这种情况发生在Mongoid,直到3.0出现。请注意,这只发生在开发模式中,所以它没什么大不了的。
参考文献:
答案 1 :(得分:1)
那么它在数据库上执行操作,所以当你在日志中进行正常查询时,我也看不到它的混乱程度。 MongoDB的documentation表明<dbname>.system.*
名称空间将数据库相关的元数据保存在其中。
您很可能无法缓存它,因为其数据可能需要在每个查询中作为某些数据库内务管理的一部分进行更新。我正在寻找一些具体答案的来源。