यहां मैं जो करने की कोशिश कर रहा हूं वह यहां है।क्या क्वेरी बिल्डर के साथ मोंगोस मिडलवेयर का उपयोग करने का कोई तरीका है?
मैं एक विश्वसनीय वातावरण में मोंगोज़ोज़ का उपयोग कर रहा हूं (उर्फ जो पारित होता है उसे हमेशा सुरक्षित/प्रचलित माना जाता है) और मुझे इसे चलाने के लिए संभावित रूप से "चयन" और "पॉप्युलेट" सामान पास करने की आवश्यकता है। मैं इसे हर अनुरोध के लिए लगातार तरीके से प्राप्त कर रहा हूं। मैं इस तरह कुछ करना चाहता हूँ:
var paramObject = sentFromUpAbove; // sent down on every Express request
var query = {...}
Model.myFind(query, paramObject).exec(function(err, data) {...});
समारोह मैं मिडलवेयर या अन्य निर्माण को मिलेगा, सरल है बस:
function(query, paramObject) {
return this.find(query)
.populate(paramObject.populate)
.select(paramObject.select);
}
और एक findOne के लिए एक ही। मुझे पता है कि मोंगोस को सीधे बढ़ाकर इसे कैसे किया जाए, लेकिन यह गंदा लगता है। मैं बजाय मिडलवेयर या कुछ अन्य निर्माण का उपयोग करता हूं जो इसे स्वच्छ और कुछ हद तक भविष्य के सबूत तरीके से करता है।
मुझे पता है कि मैं इसे मॉडल के आधार पर मॉडल पर स्टेटिक्स के माध्यम से पूरा कर सकता हूं, लेकिन मैं इसे हर मॉडल पर सार्वभौमिक रूप से करना चाहता हूं। कोई सलाह?
तो जाहिरा तौर पर, प्रोटोटाइप को जोड़ने तरीका यह है है। गंदा या नहीं मुझे लगता है कि इसमें गोता लगाने का समय है। –