Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में LIKE क्वेरी के लिए रेगुलर एक्सप्रेशन का उपयोग

रेगेक्स के साथ पैटर्न मिलान

MongoDB SQL के LIKE ऑपरेटर का समर्थन नहीं करता, लेकिन **रेगुलर एक्सप्रेशन (RegEx)** का उपयोग करके समान पैटर्न मिलान प्राप्त किया जा सकता है। /^pattern/ एंकर शुरुआत से मिलान करता है (SQL के LIKE 'pattern%' के समान)।

उदाहरण: डेटा डालना

> db.likeDemo.insertOne({"Name":"John",Age:32});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb84984623186894665ae41") }
> db.likeDemo.insertOne({"Name":"Chris",Age:25});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb84991623186894665ae42") }
> db.likeDemo.insertOne({"Name":"Carol",Age:22});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb849a1623186894665ae43") }
> db.likeDemo.insertOne({"Name":"Johnny",Age:22});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb849b2623186894665ae44") }
> db.likeDemo.insertOne({"Name":"James",Age:27});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb849bb623186894665ae45") }

सभी दस्तावेज़ देखना

> db.likeDemo.find().pretty();

आउटपुट:


"Jo" से शुरू होने वाले नाम ढूंढना (केस-इनसेंसिटिव)

> db.likeDemo.find({Name: /^Jo/i }).pretty();

आउटपुट:


रेगेक्स पैटर्न तालिका:

SQL LIKEMongoDB RegExविवरण
LIKE 'Jo%'/^Jo/"Jo" से शुरू होता है
LIKE '%hn'/hn$/"hn" पर समाप्त होता है
LIKE '%oh%'/oh/"oh" कहीं भी होता है
LIKE 'J%hn'/^J.*hn$/"J" से शुरू, "hn" पर समाप्त
केस-इनसेंसिटिव/pattern/iअंत में i फ्लैग जोड़ें

प्रदर्शन नोट: एंकर वाले रेगेक्स (^ से शुरू) इंडेक्स का उपयोग कर सकते हैं (यदि उपयुक्त इंडेक्स हो)। लीडिंग वाइल्डकार्ड (/.*pattern/) इंडेक्स का उपयोग नहीं कर सकते और धीमे होते हैं।

  1. - MongoDB में शर्त के आधार पर रिकॉर्ड खोजें

    MongoDB में शर्त के आधार पर खोजने के लिए, find() का उपयोग करें और शर्त सेट करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo708.insertOne({Name:John,Marks:54}); { acknowledged : true, insertedId : ObjectId(5ea702e4d346dcb074dc6f33) } > db.demo708.insertOne({Name:Chris,Marks:35}); {

  1. - MongoDB में सर्वर स्टेटस को इनएक्टिव सेट करें

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo707.insertOne( { id:101, serverInformation: [ { IP:192.56.34.3, Status:Active }, { IP:192.56.36.4, Status:Inactive } ] } ); { acknowledged : true, insertedId : ObjectId(5ea6f852551299a9f9

  1. - MongoDB में जन्म तिथि रिकॉर्ड को उम्र में कैसे बदलें?

    आइए एक कलेक्शन बनाते हैं: > db.demo754.insertOne({DateOfBirth:new Date(2000-05-03)}); { acknowledged : true, insertedId : ObjectId(5eae9b2da930c785c834e56f) } > db.demo754.insertOne({DateOfBirth:new Date(2010-01-21)}); { acknowledged : true, insertedId : ObjectId(5eae9b34a930c785c834e570) } &