sql >> Base de Datos >  >> NoSQL >> MongoDB

Encuentra si el objeto se cambia en mangosta de gancho pre-guardado

En primer lugar, no necesita el original objeto en absoluto. Puedes acceder a él en el pre gancho a través de this . En segundo lugar post gancho se ejecuta solo después de todo pre los ganchos se ejecutan, por lo que su código no tiene ningún sentido (consulte los documentos de mongoose ).

Puede hacer la verificación marcando isModified en tu pre enganche y elimine la post gancho en absoluto.

OrderSchema.pre('save', function(next) {    
    if(!this.isModified()){
        //not modified
    }
    next();
});

Actualizar

Para verificar si se modificó alguna propiedad, pase el nombre de la propiedad como parámetro a isModified función:

if (this.isModified("some-property")) {
  // do something
}