2016-11-30 12 views
5

सरल सवाल सभी मॉडलों के लिए वैश्विक पद्धति जोड़ें:नेवला -

कैसे मैं सिर्फ एक के बजाय हर मॉडल के लिए नेवला में अपने मॉडल को स्थिर विधियां जोड़ सकते हैं, लागू होने वाला?

उत्तर

6

तो आपके पास एक स्थिर विधि है (उदाहरण के लिए) आपका उपयोगकर्ता, ब्लॉग, टिप्पणी, और अलर्ट मॉडल सभी कार्यान्वयन में किसी भी अंतर के बिना साझा करते हैं?

मोंगोस में कई अलग-अलग मॉडलों के व्यवहार को लागू करने का एक वास्तविक तरीका प्लगइन के माध्यम से है, और आप वैश्विक प्लगइन कर सकते हैं। मैं पारंपरिक वाक्यविन्यास के साथ रहूंगा, लेकिन यदि आप ईएस 6 आयात और निर्यात का उपयोग करना चाहते हैं तो मुफ्त महसूस करें।

// ./models/plugins/echo.js 
module.exports = function echoPlugin(schema, options) { 
    schema.statics.echo = function(){ console.log('Echo'); } 
} 

कि एक प्लगइन जो इतनी तरह एक भी स्कीमा के लिए लागू किया जा सकता है परिभाषित करता है: इसलिए की तरह अपनी परियोजना में

userSchema.plugin(require('./plugins/echo')); 

या सभी मॉडलों के लिए वैकल्पिक रूप से:

// somewhere in your app startup code 
var mongoose = require('mongoose'); 
var echoPlugin = require('./models/plugins/echo'); 

mongoose.plugin(echoPlugin); 
+1

http: // mongoosejs.com/docs/plugins.html – Matt