sql >> Databáze >  >> NoSQL >> MongoDB

Mongoose __v kdy se to změní

Autorovi článku nebylo příliš jasné, kdy bude přírůstek verze interně použit, protože jak jste zjistili, pole verze se při použití příkazu update neaktualizuje.

Pokud nahradíte příkaz aktualizace příkazem Mongoose pull metoda na vašem poli pole verze bude zvýšeno:

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ýsledky:

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

Upravit:

Metoda aktualizace na modelu v podstatě pouze sestaví a provede dotaz. Kontrola verze / inkrementace se provádí při použití metody ukládání




  1. Správa více databázových technologií pomocí ClusterControl

  2. node.js moongodb dva nálezy

  3. Připojení k mongodb pomocí mongoose a Fixie (doplněk Heroku)

  4. Nastavit kvótu databáze MongoDB (SIZE)