sql >> Databáze >  >> NoSQL >> MongoDB

Zjistěte, zda je objekt změněn v pre-save hook mongoose

Za prvé, nepotřebujete originál objekt vůbec. Můžete k němu přistupovat v před háček přes toto . Za druhé post hook se spustí pouze po všech pre háčky jsou spuštěny, takže váš kód nedává vůbec žádný smysl (zkontrolujte dokumenty mongoose ).

Kontrolu můžete provést zaškrtnutím isModified ve vašem před zahákněte a odstraňte příspěvek háček vůbec.

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

Aktualizovat

Chcete-li zkontrolovat, zda byla některá vlastnost změněna, předejte název vlastnosti jako parametr do isModified funkce:

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



  1. Zdá se, že Mongoose tiše selhává

  2. Jak nakonfigurovat připojení Redis s Rails 4, Puma a Sidekiq?

  3. Jak spočítám více klíčů ve stejném dotazu $group agregace MongoDB?

  4. Jak získat aktualizovaný dokument zpět z metody findOneAndUpdate?