2017-01-12 8 views
0

Ich arbeite an einem Mungo-Hook (Pre-Find), der die ursprüngliche Abfrage bearbeiten sollte, falls die Abfrage selbst bestimmte Felder enthält.Zugriff auf Mongoose.Query-Felder

Also im Grunde ist der Code ähnlich wie diese:

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

Ich kann diese Eigenschaft nicht lesen, this.foo immer nicht definiert ist, auch wenn der Test this instanceof Mongoose.Query true zurück.

Ist diese Instanz nur schreibgeschützt oder gibt es eine Möglichkeit, das Objekt zu lesen, das an MyModel.find(query) übergeben wurde?

Dank

Antwort

1

wie folgt gelöst:

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

    const q = this.getQuery(); 
    if (q.foo) { 
     this.where('bar', 'something'); 
    } 
}