[英]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.