簡體   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