mongoose:如何获取查询的字符串表示

sil*_*der 6 mongoose mongodb node.js

我实现的模块会根据请求的params自动生成mongoose查询,因​​此为了简化测试过程,我需要能够获得最终查询的文本表示.我怎么能这样做?

就像我们有这样的事情:

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

我需要得到这样的东西

"db.appmodels.where({id:777}).sort({date: -1})"
Run Code Online (Sandbox Code Playgroud)

Ali*_*son 4

您可以为 mongoose 设置调试,默认情况下会将查询发送到控制台,以使用以下命令:

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
})
Run Code Online (Sandbox Code Playgroud)