sql >> Databasteknik >  >> NoSQL >> MongoDB

Enkelt sätt att öka Mongoose-dokumentversioner för eventuella uppdateringsfrågor?

Jag skulle säga att det här är vägen att gå. före middleware passar just detta behov, och jag vet inget annat sätt. Det är faktiskt vad jag gör i alla mina scheman.

Vad du dock måste vara medveten om är skillnaden mellan dokument och fråga mellanprogram.Dokument middleware exekveras för init , validate , save och remove operationer. Där, this hänvisar till dokumentet:

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

Fråga middleware exekveras för count , find , findOne , findOneAndRemove , findOneAndUpdate och update operationer. Där, this hänvisar till frågeobjektet. Att uppdatera versionsfältet för sådana operationer skulle se ut så här:

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

Källa:mangosdokumentation .



  1. Bygga en skalbar process med NiFi, Kafka och HBase på CDP

  2. Möjlighet att köra MongoDB på Linode 512 VPS?

  3. MongoDB - Importera CSV till kapslade dokument

  4. Att byta namn på ett fält i ett inbäddat dokument i en Array i MongoDB fungerar inte