Mongodb: "लाइक" रेगुलर एक्सप्रेशन के साथ क्वेरी कैसे करें
आप MongoDB को “लाइक” रेगुलर एक्सप्रेशन के साथ क्वेरी करने के लिए निम्नलिखित विधियों का उपयोग कर सकते हैं:
विधि 1: स्ट्रिंग वाले दस्तावेज़ ढूंढें
db.collection.find({ name : { $regex : /string/i }})
ध्यान दें कि i एक केस-असंवेदनशील मिलान इंगित करता है।
विधि 2: एक स्ट्रिंग से शुरू होने वाले दस्तावेज़ ढूंढें
db.collection.find({ name : { $regex : /^string/i }})
विधि 3: एक स्ट्रिंग के साथ समाप्त होने वाले दस्तावेज़ ढूंढें
db.collection.find({ name : { $regex : /string$/i }})
निम्नलिखित उदाहरण दिखाते हैं कि निम्नलिखित दस्तावेजों के साथ संग्रह टीम के साथ प्रत्येक विधि का उपयोग कैसे करें:
db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 }) db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 }) db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 }) db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 }) db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })
उदाहरण 1: स्ट्रिंग वाले दस्तावेज़ खोजें
हम टीम फ़ील्ड में “avs” स्ट्रिंग वाले सभी दस्तावेज़ों को खोजने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:
db.teams.find({ team : { $regex : /avs/i }})
यह क्वेरी निम्नलिखित दो दस्तावेज़ लौटाती है:
{ _id: ObjectId("618050098ffcfe76d07b1da5"), team: 'Mavs', position: 'Guard', points: 31 } { _id: ObjectId("618285361a42e92ac9ccd2c6"), team: 'Cavs', position: 'Guard', points: 33 }
उदाहरण 2: एक स्ट्रिंग से शुरू होने वाले दस्तावेज़ ढूंढें
हम स्थिति फ़ील्ड में “गुआ” स्ट्रिंग से शुरू होने वाले सभी दस्तावेज़ों को खोजने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:
db.teams.find({ position : { $regex : /^gua/i }})
यह क्वेरी निम्नलिखित तीन दस्तावेज़ लौटाती है:
{ _id: ObjectId("618050098ffcfe76d07b1da5"), team: 'Mavs', position: 'Guard', points: 31 } { _id: ObjectId("6180504e8ffcfe76d07b1da7"), team: 'Spurs', position: 'Guard', points: 22 } { _id: ObjectId("618285361a42e92ac9ccd2c6"), team: 'Cavs', position: 'Guard', points: 33 }
उदाहरण 3: एक स्ट्रिंग के साथ समाप्त होने वाले दस्तावेज़ खोजें
हम स्थिति फ़ील्ड में “वार्ड” स्ट्रिंग के साथ समाप्त होने वाले सभी दस्तावेज़ों को ढूंढने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:
db.teams.find({ position : { $regex : /ward$/i }})
यह क्वेरी निम्नलिखित दस्तावेज़ लौटाती है:
{ _id: ObjectId("618050808ffcfe76d07b1dab"), team: 'Warriors', position: 'Forward', points: 26 }
नोट : आप $regex के लिए संपूर्ण दस्तावेज़ यहां पा सकते हैं।