Autor artykułu nie był bardzo jasny, kiedy przyrost wersji zostanie zastosowany wewnętrznie, ponieważ jak się dowiedziałeś, pole wersji nie jest aktualizowane, gdy używasz polecenia aktualizacji.
Jeśli zastąpisz polecenie aktualizacji Mongoose pociągnij w Twojej tablicy pole wersji zostanie zwiększone:
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)
});
});
Wyniki:
{ __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 ] }
Edytuj:
Metoda aktualizacji w modelu w zasadzie tylko buduje i wykonuje zapytanie. Sprawdzanie / inkrementacja wersji odbywa się podczas korzystania z metody zapisu