लेख के लेखक बहुत स्पष्ट नहीं थे कि संस्करण वृद्धि को आंतरिक रूप से कब लागू किया जाएगा, क्योंकि जैसा कि आपने पाया कि जब आप अपडेट कमांड का उपयोग कर रहे हैं तो संस्करण फ़ील्ड अपडेट नहीं होता है।
अगर आप अपडेट कमांड को 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 ] }
संपादित करें:
मॉडल पर अद्यतन विधि मूल रूप से केवल क्वेरी बनाती और निष्पादित करती है। जब आप सेव मेथड का इस्तेमाल करते हैं तो वर्जन चेकिंग / इंक्रीमेंट किया जाता है