MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Sprawdź, czy obiekt został zmieniony w manguście haka przed zapisaniem

Przede wszystkim nie potrzebujesz oryginalnego obiekt w ogóle. Możesz uzyskać do niego dostęp w pre zaczep przez to . Po drugie post hook wykonuje się dopiero po wszystkim pre haki są wykonywane, więc Twój kod nie ma żadnego sensu (sprawdź dokumentację mongoose ).

Możesz to sprawdzić, zaznaczając isModified w swoim pre zaczep i usuń post hak w ogóle.

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

Aktualizacja

Aby sprawdzić, czy jakaś właściwość została zmodyfikowana, przekaż nazwę właściwości jako parametr do isModified funkcja:

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy operator `$eq` działa z notacją z kropkami w tablicy?

  2. Pierwsze kroki z Node.js, angular.js i MongoDB, modelowanie relacji i inne wskazówki dotyczące rozwoju

  3. Dane przestrzenne z mongodb lub cassandra

  4. scalić wiele dokumentów w jeden dokument z obydwoma polami dokumentów w MongoDB

  5. $elemDopasuj z wyrazistym