MongoDB में रेगुलर एक्सप्रेशन से कलेक्शन नाम फ़िल्टर करना
db.getCollectionNames() से सभी कलेक्शन नाम प्राप्त करके जावास्क्रिप्ट filter() और रेगएक्स से पैटर्न मैच करें।
टेस्ट के लिए कलेक्शन बनाएं
> use web
switched to db web
> db.createCollection("2015-myCollection");
{ "ok": 1 }
> db.createCollection("2019-employeeCollection");
{ "ok": 1 }
> db.createCollection("2015-yourCollection");
{ "ok": 1 }
सभी कलेक्शन देखें
> show collections;
2015-myCollection
2015-yourCollection
2019-employeeCollection
applyConditionDemo
check
creatingAliasDemo
emp_info
emptyCollection
removeNullDemo
"2015" से शुरू होने वाले कलेक्शन खोजें
> db.getCollectionNames().filter(function(v) { return /^2015\-/.test(v); })
["2015-myCollection", "2015-yourCollection"]
"2019" से शुरू होने वाले कलेक्शन खोजें
> db.getCollectionNames().filter(function(v) { return /^2019\-/.test(v); })
["2019-employeeCollection"]
पैटर्न समझें
/^2015\-/- रेगएक्स: ^ = शुरुआत, 2015 = लिटरल, \- = हाइफ़न.test(v)- स्ट्रिंग v पर रेगएक्स टेस्ट करता हैfilter()- मैच करने वाले एलिमेंट की नई सरणी बनाता है
अन्य उपयोगी पैटर्न
| पैटर्न | अर्थ |
|---|---|
/2015/ | कहीं भी "2015" हो |
/^2015/ | "2015" से शुरू हो |
/2015$/ | "2015" पर खत्म हो |
/^201[5-9]-/ | 2015-2019 से शुरू हो |
/.*2015.*/ | कहीं भी 2015 हो (वाइल्डकार्ड) |
नोट
यह क्लाइंट-साइड फ़िल्टरिंग है। बड़ी संख्या में कलेक्शन के लिए सर्वर-साइड listCollections कमांड में फिल्टर उपयोग करें।