2014-01-06 11 views
5

リクエストされたparamsによって自動的にmongooseクエリを生成するモジュールを実装するので、最終的なクエリのテキスト表現を取得する必要があります。どうすればいい?mongoose:クエリの文字列表現を取得する方法

我々はこのような何か持っているように:

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でテスト済み)。

関連する問題