MongoDB शेल में जावास्क्रिप्ट Object.defineProperty से कस्टम अलायस बनाना
MongoDB शेल (जावास्क्रिप्ट वातावरण) में Object.defineProperty() से गेटर फंक्शन परिभाषित करके पुन: उपयोगी अलायस/कमांड बना सकते हैं।
सिंटैक्स
Object.defineProperty(this, 'yourFunctionName', {
get: function() {
yourStatement1;
// ...
return result;
},
enumerable: true,
configurable: true
});
वेरिएबल में असाइन करें
var anyAliasName = yourFunctionName;
उदाहरण: "Hello MongoDB" लौटाने वाला अलायस बनाएं
> Object.defineProperty(this, 'displayMessageDemo', {
get: function() {
return "Hello MongoDB";
},
enumerable: true,
configurable: true
});
फंक्शन को वेरिएबल में असाइन करें
> var myMessage = displayMessageDemo;
अलायस उपयोग करें
> myMessage;
"Hello MongoDB"
व्याख्या
this- ग्लोबल ऑब्जेक्ट (शेल स्कोप)get- प्रॉपर्टी एक्सेस पर चलने वाला फंक्शनenumerable: true- for...in लूप में दिखेconfigurable: true- बाद में डिलीट/बदल सकेंvar myMessage = displayMessageDemo- गेटर का रिटर्न वैल्यू असाइन होता है
व्यावहारिक उदाहरण: कलेक्शन शॉर्टकट
> Object.defineProperty(this, 'users', {
get: function() { return db.getSiblingDB("myapp").users; },
enumerable: true, configurable: true
});
> users.findOne(); // db.getSiblingDB("myapp").users.findOne() के बराबर
नोट
-
<ये अलायस केवल वर्तमान शेल सत्र के लिए रहते हैं
- स्थायी अलायस के लिए
.mongorc.jsफ़ाइल में जोड़ें - यह जावास्क्रिप्ट फीचर है, MongoDB-विशिष्ट नहीं