MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongoose __v кога се променя

Авторът на статията не беше много ясен кога увеличението на версията ще бъде приложено вътрешно, защото, както разбрахте, полето за версия не се актуализира, когато използвате командата за актуализиране.

Ако замените командата за актуализиране с Mongoose pull във вашия масив полето за версия ще бъде увеличено:

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)
    });
});

Резултати:

{ __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 ] }

Редактиране:

Методът за актуализиране на модела основно само изгражда и изпълнява заявката. Проверката/увеличаването на версията се извършва, когато използвате метода за запазване




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Йерархични заявки с Mongo с помощта на $graphLookup

  2. Spring Data MongoDB агрегиране - съвпадение по изчислена стойност

  3. Как да експортирате резултатите от заявката на MongoDB в CSV файл

  4. Ръководство за Upsert в MongoDB

  5. Преобразуване на Mongo заявка в Laravel, вложен elemMatch