我實現的模塊,通過請求的參數自動生成貓鼬查詢,所以爲了簡化測試過程,我需要能夠獲得最終查詢的文本表示。我怎麼能這樣做?貓鼬:如何獲取查詢的字符串表示
像我們有這樣的事情:
var q = AppModel.find({id:777}).sort({date:-1})
我需要得到像這樣
"db.appmodels.where({id:777}).sort({date: -1})"
我實現的模塊,通過請求的參數自動生成貓鼬查詢,所以爲了簡化測試過程,我需要能夠獲得最終查詢的文本表示。我怎麼能這樣做?貓鼬:如何獲取查詢的字符串表示
像我們有這樣的事情:
var q = AppModel.find({id:777}).sort({date:-1})
我需要得到像這樣
"db.appmodels.where({id:777}).sort({date: -1})"
您可以設置調試的貓鼬,這將在默認情況下發送查詢到控制檯,使用以下內容:
mongoose.set('debug', function (collectionName, method, query, doc) {
// Here query is what you are looking for.
// so whatever you want to do with the query
// would be done in here
})
Gi通過查詢對象q
,您可以使用其字段重建查詢,即q._conditions
和q._update
。這是沒有記錄的,但很容易在Mongoose版本之間切換(在Mongoose 4.0.4上測試)。
這不提供整個查詢。 –