2017-01-12 10 views
0

私は、クエリ自体にいくつかの特定のフィールドが含まれている場合に元のクエリを編集する必要があるMongooseフック(pre find)に取り組んでいます。Mongoose.Queryフィールドへのアクセス

だから、基本的にコードはこの1つのようになります。

MySchema.pre('find', function (next) { 
    if (this.foo) { 
     this.bar = 'something' 
    } 
} 

私は、このプロパティを読み取ることができない、this.fooはテストthis instanceof Mongoose.Queryがtrueを返した場合でも、常に未定義です。

このインスタンスは単なる書き込み専用ですか、それともMyModel.find(query)に渡されたオブジェクトを読み取ることができる方法がありますか?このように解決

おかげ

答えて

1

MySchema.pre('find', function() { 

    const q = this.getQuery(); 
    if (q.foo) { 
     this.where('bar', 'something'); 
    } 
} 
関連する問題