[英]List recent operations on mongodb
我正在将MongoDB与Node.js框架一起使用。
虽然从orm的角度来看没有错误,但是有些文档没有插入到db中,这是一种奇怪的行为: err = null
在Collection.create()
回调中,并返回带有_id
新文档。 当我尝试通过db中的_id
搜索时-未找到文档。
我试图手动将新文档插入db,但操作成功。
有没有一种方法可以从db的角度跟踪这些操作? 一些命令列出最近的请求及其结果。
您可以为所有操作启用分析:
db.setProfilingLevel(2)
然后,查看system.profile
集合以查看发生了什么。 system.profile
是一个有上限的集合,可以像其他任何集合一样进行搜索。 分析可能会很嘈杂,最终您必须更改system.profile
集合的大小
db.setProfilingLevel(0)
db.system.profile.drop()
db.createCollection( "system.profile", { capped: true, size:4000000 } )
db.setProfilingLevel(2)
在MongoDB中跟踪错误的最值得注意的方法是使用--diaglog
选项: http : --diaglog
的级别可能为3
,但是为1
对您来说可能就足够了。
正如@Neil所指出的那样,不幸的是从2.6开始不推荐使用。
当前唯一的方法是通过@Rauls答案写出MongoDB执行的所有操作,然后使用类似以下的查询:
db.system.profile.find({op:{$in:['update', 'insert', 'remove']}});
并可能调整用于分析的上限集合的大小: http : //docs.mongodb.org/manual/tutorial/manage-the-database-profiler/#profiler-overhead以捕获所需的数量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.