sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose __v när ändras det

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




  1. Hur importerar man data från mongodb till pandor?

  2. MongoDB:Inbäddade användare i kommentarer

  3. MongoDB-fråga för att uppdatera kapslad array

  4. Meteor Mongo findOne returnerar odefinierad metod