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

MongoDB में विशिष्ट स्ट्रिंग वाले दस्तावेज़ खोजना

MongoDB में रेगेक्स का उपयोग करके स्ट्रिंग पैटर्न खोजना

MongoDB में किसी फील्ड में विशिष्ट स्ट्रिंग या पैटर्न वाले दस्तावेज़ खोजने के लिए find() के साथ रेगेक्स (नियमित अभिव्यक्ति) का उपयोग करें।

उदाहरण: संग्रह और दस्तावेज़ बनाना

> db.demo409.insertOne({"Name":"John Doe"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e70e4e515dc524f7022767c") }
> db.demo409.insertOne({"Name":"Chris Brown"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e70e4ec15dc524f7022767d") }
> db.demo409.insertOne({"Name":"Robert Doe"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e70e4f415dc524f7022767e") }
> db.demo409.insertOne({"Name":"David Brown"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e70e4fe15dc524f7022767f") }

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

> db.demo409.find();

आउटपुट:

{ "_id" : ObjectId("5e70e4e515dc524f7022767c"), "Name" : "John Doe" }
{ "_id" : ObjectId("5e70e4ec15dc524f7022767d"), "Name" : "Chris Brown" }
{ "_id" : ObjectId("5e70e4f415dc524f7022767e"), "Name" : "Robert Doe" }
{ "_id" : ObjectId("5e70e4fe15dc524f7022767f"), "Name" : "David Brown" }

"Doe" स्ट्रिंग वाले दस्तावेज़ खोजना

> db.demo409.find({Name: /Doe/});

आउटपुट:

{ "_id" : ObjectId("5e70e4e515dc524f7022767c"), "Name" : "John Doe" }
{ "_id" : ObjectId("5e70e4f415dc524f7022767e"), "Name" : "Robert Doe" }

रेगेक्स पैटर्न और विकल्प:

पैटर्नविवरणउदाहरण
/Doe/सबस्ट्रिंग मिलान (केस-सेंसिटिव)"John Doe", "Doe John"
/^Doe/प्रीफिक्स मिलान (शुरुआत में)"Doe John"
/Doe$/सफ़िक्स मिलान (अंत में)"John Doe"
/doe/iकेस-इनसेंसिटिव"john doe", "John DOE"
/^John.*Doe$/पूरा पैटर्न"John Doe", "John Smith Doe"

प्रदर्शन नोट:

  • एंकर वाले प्रीफिक्स रेगेक्स (/^pattern/) इंडेक्स का उपयोग कर सकते हैं
  • सबस्ट्रिंग रेगेक्स (/pattern/) पूर्ण संग्रह स्कैन करते हैं
  • बड़े डेटासेट के लिए टेक्स्ट इंडेक्स + $text खोज बेहतर है

$regex ऑपरेटर सिंटैक्स (विकल्पों के साथ):

db.demo409.find({Name: {$regex: "Doe", $options: "i"}})
  1. - MongoDB दस्तावेजों में विशिष्ट मान से ऊपर के मान खोजें

    विशिष्ट मान से ऊपर के मान खोजने के लिए, MongoDB में $gte का उपयोग करके सिंटैक्स निम्न है: db.yourCollectionName.find({yourFieldName:{$gte:yourValue}}); आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo571.insertOne({Price:140}); { acknowledged : true, insertedId : ObjectId(5e909b3439cfeaaf0b

  1. - MongoDB में विशिष्ट स्ट्रिंग वाले दस्तावेज खोजें

    कौन सा दस्तावेज विशिष्ट स्ट्रिंग रखता है, यह खोजने के लिए find() के साथ $regex का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo597.insertOne({Name:John Doe}); { acknowledged : true, insertedId : ObjectId(5e947ae3f5f1e70e134e2690) } > db.demo597.insertOne({Name:John Smith})

  1. - MongoDB में एक क्वेरी से कई डॉक्यूमेंट्स कैसे अपडेट करें?

    एक क्वेरी से कई डॉक्यूमेंट्स अपडेट करने के लिए MongoDB में bulkWrite() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo760.insertOne({id:1,details:{Value1:100,Value2:50}}); { acknowledged : true, insertedId : ObjectId(5eb0309f5637cd592b2a4aee) } > db.demo760.insertOne({id:2,details:{Value1: