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

MongoDB में LIKE ऑपरेशन जैसा क्वेरी कैसे करें?

MongoDB में SQL के LIKE ऑपरेटर के समान पैटर्न मिलान के लिए रेगुलर एक्सप्रेशन (regex) का उपयोग किया जाता है। सिंटैक्स /pattern/ है।

उदाहरण: छात्र नाम संग्रह

> db.demo26.insertOne({"StudentName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14c9dc22d07d3b95082e79") }
> db.demo26.insertOne({"StudentName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14c9e022d07d3b95082e7a") }
> db.demo26.insertOne({"StudentName":"Jones"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14ca7222d07d3b95082e7b") }
> db.demo26.insertOne({"StudentName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14ca7622d07d3b95082e7c") }

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

> db.demo26.find();

आउटपुट:

{ "_id" : ObjectId("5e14c9dc22d07d3b95082e79"), "StudentName" : "Chris" }
{ "_id" : ObjectId("5e14c9e022d07d3b95082e7a"), "StudentName" : "John" }
{ "_id" : ObjectId("5e14ca7222d07d3b95082e7b"), "StudentName" : "Jones" }
{ "_id" : ObjectId("5e14ca7622d07d3b95082e7c"), "StudentName" : "David" }

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

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

> db.demo26.find({"StudentName":/Jo/});

आउटपुट:

{ "_id" : ObjectId("5e14c9e022d07d3b95082e7a"), "StudentName" : "John" }
{ "_id" : ObjectId("5e14ca7222d07d3b95082e7b"), "StudentName" : "Jones" }

उन्नत Regex विकल्प

  • केस-इनसेंसिटिव: /jo/i
  • शुरुआत में मिलान (^): /^Jo/
  • अंत में मिलान ($): /n$/
  • $regex ऑपरेटर: {StudentName: {$regex: "Jo", $options: "i"}}

प्रदर्शन टिप

बड़े संग्रहों पर regex क्वेरी धीमी हो सकती हैं। प्रीफिक्स मिलान (/^Jo/) के लिए, फील्ड पर इंडेक्स बनाने पर विचार करें। पूर्ण-टेक्स्ट खोज के लिए MongoDB के $text इंडेक्स का उपयोग करें।

  1. - MongoDB में सरल वैलिडेशन करना

    MongoDB में JSON स्कीमा वैलिडेटर का उपयोग करके दस्तावेज़ वैलिडेशन लागू करना MongoDB 3.6+ में createCollection() के साथ validator विकल्प का उपयोग करके JSON स्कीमा आधारित दस्तावेज़ वैलिडेशन लागू करें। वैलिडेशन के साथ संग्रह बनाना > db.createCollection( demo437 , { validator: { $jsonSchema: {

  1. - MongoDB में MySQL UNION जैसी क्वेरी कैसे लागू करें?

    दो संग्रहों को UNION करने के लिए समान क्वेरी के लिए, MongoDB में $lookup के साथ aggregate() का उपयोग करें। आइए दस्तावेज़ों के साथ पहला संग्रह बनाएं: > db.demo486.insertOne({_id:1,"Amount":30,"No":4}); { "acknowledged" : true, "insertedId" : 1 } > db.dem

  1. - MongoDB में SQL LIKE के समान क्वेरी कैसे करें?

    MongoDB में LIKE के समान कार्यक्षमता के लिए find() के साथ रेगुलर एक्सप्रेशन (//) का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo686.insertOne({FirstName:Robert}); { acknowledged : true, insertedId : ObjectId(5ea55182a7e81adc6a0b395c) } > db.demo686.insertOne({FirstName:John}); { acknowledg