2014-01-06 72 views
5

我實現的模塊,通過請求的參數自動生成貓鼬查詢,所以爲了簡化測試過程,我需要能夠獲得最終查詢的文本表示。我怎麼能這樣做?貓鼬:如何獲取查詢的字符串表示

像我們有這樣的事情:

var q = AppModel.find({id:777}).sort({date:-1})

我需要得到像這樣

"db.appmodels.where({id:777}).sort({date: -1})" 

回答

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 
}) 
+0

這不提供整個查詢。 –

0

Gi通過查詢對象q,您可以使用其字段重建查詢,即q._conditionsq._update。這是沒有記錄的,但很容易在Mongoose版本之間切換(在Mongoose 4.0.4上測試)。