我看了manage-the-database-profiler
我将个人资料级别设置为db.setProfilingLevel(2,200)
。在我的页面上使用mongoose跟随mongo DB调用,如下面的
mycollection.findOne({MyId: 1}, function(err, data){
})
当我查看日志文件时,无法访问" mycollection"。 此外,日志文件有时会在我的某些页面上包含查询,如下所示。
2014-07-30T13:11:59.258-0700 [conn33]查询myDB.myOtherCollection查询:{MyID:100} planSummary:COLLSCAN ntoskip:0 nscanned:850 nscannedObjects:850 keyUpdates:0 numYields:7 locks(micros) r:6101 nreturned:0 reslen:20 3ms
那么有什么方法可以显示所有查询日志到mongo数据库?
答案 0 :(得分:1)
由于您使用的是mongoose,因此可以通过启用debug来查看执行的查询。
mongoose.set('debug', true)
答案 1 :(得分:1)
db.setProfilingLevel
有一个可选的level
参数,当设置为2时,记录数据库的system.profile
集合中的所有操作,日志中不文件。 slowMS
参数确定查询在记录到日志文件之前必须有多慢。
如果您想密切监控集合中的活动,请考虑使用MMS进行监控,因为它以比system.profile
更友好的格式公开了大量有用的用法,性能和分析信息。< / p>
答案 2 :(得分:0)
如果要将第二个参数slowMS设置为1ms,这将记录所有占用时间超过1ms的查询 - 这几乎就是所有查询。