Författaren till artikeln var inte särskilt tydlig när versionsökningen kommer att tillämpas internt, eftersom som du fick reda på är versionsfältet inte uppdaterat när du använder uppdateringskommandot.
Om du ersätter uppdateringskommandot med Mongoose dra metod på din array kommer versionsfältet att ökas:
var t = Test();
t.name = 'hi'
t.arr = [1, 2, 3, 4, 5, 6];
t.save(function (err, result) {
console.log(result);
// use Mongoose pull method on the array
t.arr.pull(3);
t.save(function(err2, result2) {
console.log(result2)
});
});
Resultat:
{ __v: 0,
name: 'hi',
_id: 53f59d2a6522edb12114b98c,
arr: [ 1, 2, 3, 4, 5, 6 ] }
{ __v: 1,
name: 'hi',
_id: 53f59d2a6522edb12114b98c,
arr: [ 1, 2, 4, 5, 6 ] }
Redigera:
Uppdateringsmetoden på modellen bygger och exekverar i princip bara frågan. Versionskontrollen/ökningen görs när du använder sparmetoden