रेगुलर एक्सप्रेशन के साथ सरणी क्वेरी
MongoDB में, किसी सरणी फील्ड के अंदर स्ट्रिंग मानों के लिए रेगुलर एक्सप्रेशन मिलान करने के लिए, सीधे फील्ड नाम पर रेगेक्स लागू करें। MongoDB सरणी के **किसी भी** तत्व के विरुद्ध रेगेक्स का परीक्षण करता है।
सिंटैक्स
db.yourCollectionName.find( { yourFieldName: /yourStartingValue./ } ).pretty();
उदाहरण: डेटा डालना
> db.queryArrayDemo.insertOne({"StudentFullName":["Carol Taylor","Caroline Williams","Claire Brown"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca2774c6304881c5ce84ba0") }
> db.queryArrayDemo.insertOne({"StudentFullName":["John Smith","Jace Doe","Jabin Brown"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca277b36304881c5ce84ba1") }
सभी दस्तावेज़ देखना
> db.queryArrayDemo.find().pretty();
आउटपुट:
{ "_id" : ObjectId("5ca2774c6304881c5ce84ba0"), "StudentFullName" : [ "Carol Taylor", "Caroline Williams", "Claire Brown" ] }
{ "_id" : ObjectId("5ca277b36304881c5ce84ba1"), "StudentFullName" : [ "John Smith", "Jace Doe", "Jabin Brown" ] }
रेगेक्स क्वेरी: "J" से शुरू होने वाले नाम
> db.queryArrayDemo.find( { StudentFullName : /J./ } ).pretty();
आउटपुट (केवल दूसरा दस्तावेज़ मिलता है क्योंकि इसकी सरणी में "J" से शुरू होने वाले नाम हैं):
नोट: रेगेक्स
/J./का अर्थ है "J" से शुरू होने वाला कोई भी स्ट्रिंग। केस-इनसेंसिटिव मिलान के लिए/J./iउपयोग करें। यह क्वेरी उन दस्तावेज़ों को लौटाती है जहां सरणी का **कम से कम एक** तत्व पैटर्न से मेल खाता है।