मैं कहूंगा कि यह जाने का रास्ता है। पूर्व मिडलवेयर बिल्कुल इस जरूरत को पूरा करता है, और मुझे कोई अन्य तरीका नहीं पता है। वास्तव में मैं अपने सभी स्कीमा में यही कर रहा हूं।
हालांकि आपको जिस चीज के बारे में पता होना चाहिए, वह है दस्तावेज़ . के बीच का अंतर और क्वेरी मिडलवेयर.दस्तावेज़ मिडलवेयर को init . के लिए क्रियान्वित किया जाता है , validate , save और remove संचालन। वहां, this दस्तावेज़ को संदर्भित करता है:
schema.pre('save', function(next) {
this.increment();
return next();
});
क्वेरी मिडलवेयर को count . के लिए क्रियान्वित किया जाता है , find , find , findOneAndRemove , findOneAndUpdate और update संचालन। वहां, this क्वेरी ऑब्जेक्ट को संदर्भित करता है। इस तरह के संचालन के लिए संस्करण फ़ील्ड को अपडेट करना इस तरह दिखेगा:
schema.pre('update', function( next ) {
this.update({}, { $inc: { __v: 1 } }, next );
});
स्रोत:मोंगोज़ दस्तावेज़ीकरण ।