sql >> Database >  >> NoSQL >> MongoDB

Gemakkelijke manier om Mongoose-documentversies te verhogen voor eventuele updatequery's?

Ik zou zeggen dat dit de manier is om te gaan. voor middleware past precies in deze behoefte, en ik weet niet anders. In feite is dit wat ik doe in al mijn schema's.

Waar u echter op moet letten, is het verschil tussen document en query middleware.Document middleware worden uitgevoerd voor init , validate , save en remove activiteiten. Daar, this verwijst naar het document:

schema.pre('save', function(next) {
  this.increment();
  return next();
});

Zoekopdracht middleware wordt uitgevoerd voor count , find , findOne , findOneAndRemove , findOneAndUpdate en update activiteiten. Daar, this verwijst naar het query-object. Het bijwerken van het versieveld voor dergelijke bewerkingen ziet er als volgt uit:

schema.pre('update', function( next ) {
  this.update({}, { $inc: { __v: 1 } }, next );
});

Bron:documentatie over mangoesten .



  1. Hoe alle resultaten te krijgen als het afwikkelveld niet bestaat in mongodb

  2. Spring Data Mongo lijkt host te negeren in XML-configuratie

  3. spring data - Mongodb - findBy Methode voor geneste objecten

  4. Hoe alle velden te retourneren zonder te specificeren na $group stage