繁体   English   中英

列出mongodb上的最新操作

[英]List recent operations on mongodb

我正在将MongoDB与Node.js框架一起使用。

虽然从orm的角度来看没有错误,但是有些文档没有插入到db中,这是一种奇怪的行为: err = nullCollection.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM