2 回答

TA貢獻1780條經(jīng)驗 獲得超1個贊
mgo 的作者 Gustavo Niemeyer 的回答:http : //grokbase.com/t/gg/mgo-users/152571ky82/how-to-show-query-log#20150209zwzki7mxjfigdzuqp245wskkl4
有兩種方法可以處理此問題:
通過啟用 MongoDB 日志記錄
這獨立于驅(qū)動程序(在本例中為 mgo),并且可以在 shell 中啟用或通過 mgo 運行相應(yīng)的命令:
http://docs.mongodb.org/manual/reference/method/db.setProfilingLevel/
通過啟用 mgo 日志記錄
您可以通過標(biāo)準(zhǔn)包的 log.New 函數(shù)創(chuàng)建一個 Logger 并將其提供給 mgo 的 SetLogger 函數(shù)來實現(xiàn):
http://golang.org/pkg/log/#New , http://gopkg.in/mgo.v2#SetLogger
使用 mgo.SetDebug 增加詳細程度:
因此,如果您已經(jīng)設(shè)置了 Logger,請啟用調(diào)試模式。

TA貢獻1828條經(jīng)驗 獲得超3個贊
我無法讓 mgo 使用 SetLogger 和 SetDebug 來記錄查詢。相反,我通過編組到 json 字符串然后打印來解決這個問題:
q = bson.M{}
jsonString, _ := json.Marshal(q)
fmt.Printf("mgo query: %s\n", jsonString)
如果您需要調(diào)試查詢,您還可以將其輸出復(fù)制/粘貼到標(biāo)準(zhǔn) mongo 客戶端
- 2 回答
- 0 關(guān)注
- 200 瀏覽
添加回答
舉報