Ich versuche, die neue instabile Version von mongoose> 4.0.0 zu verwenden, um Aktualisierungsabfragen zu validieren.In Mungo Pre-Middleware, wie kann ich auf die Update-Abfrage zugreifen?
sagen, dass ich ein Schema mit der folgenden Abfrage
schema.update({_id:'blah'},{a:'blah'},function(err){
//do your thing
})
aktualisieren mag
so kann sagen, dass ich das folgende Schema habe,
var schema = new Schema({
a:{type:String}
});
schema.pre('update',function(next){
var findQuery=this._conditions; // gives {_id:'blah'}
// how do i get {a:'blah'}????
next();
});
, wie ich die Update-Abfrage von {Set erhalten Sie: {a: 'blah'}} in der Pre-Middleware, damit ich vor dem Update einige Überprüfungen durchführen kann?
alternativ ich weiß, dass die Update-Abfrage in der Post-Middleware zugegriffen werden kann, in
schema.post('update',function(){
var findQuery=this._conditions; // gives {_id:'blah'}
var updateQuery=this._update; //gives {$set:{a:'blah'}}
next();
});
, aber das ist zu spät, ich brauche dies in der Pre-Middleware, bevor sie tatsächlich zu überprüfen, die DB zu aktualisieren.
Ich habe versucht, durch das 'This' Objekt der Pre-Middleware zu suchen, kann aber das updateQuery-Objekt nirgendwo finden und this._update ist in der Pre-Middleware undefiniert.
Gibt es eine Möglichkeit, dies zu tun? danke