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

时间:2014-01-06 21:51:35

标签: node.js mongodb mongoose

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

就像我们有这样的事情:

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

我需要得到类似的东西

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

2 个答案:

答案 0 :(得分:3)

您可以为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
})

答案 1 :(得分:1)

给定查询对象ng-click="row.toggleExpand(this)" ,您可以使用其字段ngGridngRow重建查询。这是没有记录的,并且很容易在Mongoose版本之间中断(在Mongoose 4.0.4上测试)。