2012-08-23 10 views
34

में एक रिकॉर्ड "नया है" निर्धारित करें, क्या यह पता लगाने का कोई तरीका है कि क्या "नया है" (अभी तक सहेजा नहीं गया है) mongoose मॉडल स्कीमा के पूर्व सहेजने वाले कॉलबैक में है?पूर्व बचत कॉलबैक

उत्तर

70

हां, एक मॉडल उदाहरण पर isNew बूलियन संपत्ति है जो इंगित करती है। अपने पूर्व बचत मिडलवेयर से this.isNew के रूप में इसे एक्सेस करें।

+0

वहाँ 'पूर्व के लिए एक समान सूचक है ('update'' मैं उपयोग' UserModel.update (फिल्टर, NEWUSER, {Upsert: सच नया: सच}।, (अरे, उपयोगकर्ता) -> 'और यह जानना चाहेंगे कि यह एक नया दस्तावेज़ है या यदि यह मौजूदा में संशोधित है। –

10
var MySchema = new Schema({...}); 

MySchema.pre('save', function(next) { 
    if (this.isNew) { 
     // Hooray ! 
    } 
    next(); 
});