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

MongoDB रेगेक्स: पहले पांच अक्षर अपरकेस वाले रिकॉर्ड्स कैसे डिस्प्ले करें?

MongoDB में रेगुलर एक्सप्रेशन्स का उपयोग करके अपरकेस प्रीफिक्स वाले स्ट्रिंग्स ढूंढना

$regex` ऑपरेटर पैटर्न मिलान का समर्थन करता है। एक स्ट्रिंग की शुरुआत में 5 लगातार अपरकेस अक्षरों से मिलान करने के लिए, पैटर्न /^[A-Z]{5}/ का उपयोग करें।

नमूना डेटा बनाना

> db.upperCaseFiveLetterDemo.insertOne({"StudentFullName":"JOHN Smith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7edef1a844af18acdffb2") }
> db.upperCaseFiveLetterDemo.insertOne({"StudentFullName":"SAM Williams"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ee011a844af18acdffb3") }
> db.upperCaseFiveLetterDemo.insertOne({"StudentFullName":"CAROL Taylor"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ee101a844af18acdffb4") }
> db.upperCaseFiveLetterDemo.insertOne({"StudentFullName":"Bob Taylor"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ee351a844af18acdffb5") }
> db.upperCaseFiveLetterDemo.insertOne({"StudentFullName":"DAVID Miller"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ee451a844af18acdffb6") }

सभी डॉक्यूमेंट्स देखना

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

आउटपुट:

{ "_id" : ObjectId("5cd7edef1a844af18acdffb2"), "StudentFullName" : "JOHN Smith" }
{ "_id" : ObjectId("5cd7ee011a844af18acdffb3"), "StudentFullName" : "SAM Williams" }
{ "_id" : ObjectId("5cd7ee101a844af18acdffb4"), "StudentFullName" : "CAROL Taylor" }
{ "_id" : ObjectId("5cd7ee351a844af18acdffb5"), "StudentFullName" : "Bob Taylor" }
{ "_id" : ObjectId("5cd7ee451a844af18acdffb6"), "StudentFullName" : "DAVID Miller" }

पहले 5 अपरकेस अक्षरों वाले रिकॉर्ड्स गिनना और ढूंढना

> db.upperCaseFiveLetterDemo.find({ StudentFullName: { $regex: /[A-Z]{5}/ } }).count();
2

> db.upperCaseFiveLetterDemo.find({ StudentFullName: { $regex: /[A-Z]{5}/ } });

आउटपुट:

{ "_id" : ObjectId("5cd7ee101a844af18acdffb4"), "StudentFullName" : "CAROL Taylor" }
{ "_id" : ObjectId("5cd7ee451a844af18acdffb6"), "StudentFullName" : "DAVID Miller" }

रेगेक्स पैटर्न व्याख्या

  • /[A-Z]{5}/ - कहीं भी 5 लगातार अपरकेस अक्षरों से मेल खाता है (जरूरी नहीं कि शुरुआत में)।
  • CAROL Taylor - "CAROL" (5 अपरकेस) से शुरू होता है ✓
  • DAVID Miller - "DAVID" (5 अपरकेस) से शुरू होता है ✓
  • JOHN Smith - "JOHN " (4 अपरकेस + स्पेस) ✗
  • SAM Williams - "SAM W" (3 अपरकेस + स्पेस) ✗
  • Bob Taylor - "Bob T" (मिश्रित केस) ✗

स्ट्रिंग की शुरुआत में एंकर करने के लिए

स्ट्रिंग की शुरुआत** में 5 अपरकेस अक्षरों को सख्ती से मिलान करने के लिए:

db.collection.find({ field: { $regex: /^[A-Z]{5}/ } });

केस-इनसेंसिटिव विकल्प

db.collection.find({ field: { $regex: /^[a-z]{5}/, $options: "i" } });

प्रदर्शन नोट

  • लीडिंग एंकर (^) वाले रेगेक्स इंडेक्स का उपयोग कर सकते हैं यदि फील्ड इंडेक्स्ड है।
  • लीडिंग एंकर के बिना रेगेक्स (/[A-Z]{5}/) पूर्ण संग्रह स्कैन करते हैं।
  1. - MongoDB Documents में First 4 Values Ignore करके Next 3 Display करना

    इसके लिए $slice का उपयोग करें और ignore करने वाले values की count और display करने वाले values की count set करें। Collection बनाना > db.demo693.insertOne({Values:[10,746,736,283,7363,424,3535]}); { acknowledged : true, insertedId : ObjectId(5ea58a04ece4e5779399c07b) } > db.demo693.insertOne({V

  1. - MongoDB में टैग रिकॉर्ड्स को तेजी से अपडेट करें

    टैग रिकॉर्ड्स को अपडेट करने के लिए अपडेट कमांड के साथ $ का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo713.insertOne( { tags: [ { id:101, Name:Tag-1 }, { id:102, Name:Tag-3 }, { id:103, Name:Tag-3 } ] } ); { acknowl

  1. - MySQL में ORDER BY DESC और LIMIT का उपयोग करके पहले 3 रिकॉर्ड प्रदर्शित करना

    MySQL में ORDER BY DESC LIMIT के साथ शीर्ष N रिकॉर्ड प्राप्त करना ORDER BY ... DESC के साथ LIMIT का उपयोग करके क्रमबद्ध परिणामों से शीर्ष N पंक्तियां प्राप्त की जा सकती हैं। व्यावहारिक उदाहरण तालिका बनाना CREATE TABLE DemoTable ( UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, UserName VA