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

MongoDB में यूनिक इंडेक्स का उपयोग करके डुप्लिकेट नाम डालने से कैसे रोकें?

MongoDB में यूनिक इंडेक्स के साथ डुप्लिकेट रोकना

किसी फ़ील्ड में डुप्लिकेट मानों को रोकने के लिए, उस फ़ील्ड पर यूनिक इंडेक्स बनाएं। MongoDB तब किसी भी इंसर्ट या अपडेट को अस्वीकार कर देगा जो डुप्लिकेट मान बनाने का प्रयास करता है।

यूनिक इंडेक्स बनाना

ensureIndex() (विरासत) या आधुनिक createIndex() का उपयोग करें:

> db.demo316.ensureIndex({"SubjectName": 1}, {unique: true});
{ "createdCollectionAutomatically": true, "numIndexesBefore": 1, "numIndexesAfter": 2, "ok": 1 }

डेटा डालना

> db.demo316.insertOne({"SubjectName": "MySQL"});
{ "acknowledged": true, "insertedId": ObjectId("5e50e378f8647eb59e56205d") }
> db.demo316.insertOne({"SubjectName": "MongoDB"});
{ "acknowledged": true, "insertedId": ObjectId("5e50e37df8647eb59e56205e") }

डुप्लिकेट डालने का प्रयास

> db.demo316.insertOne({"SubjectName": "MongoDB"});
WriteError: E11000 duplicate key error collection: test.demo316 index: SubjectName_1 dup key: { : "MongoDB" }

MongoDB E11000 डुप्लिकेट की त्रुटि फेंकता है और इंसर्ट विफल हो जाता है।

मौजूदा डेटा देखना

> db.demo316.find();
{ "_id": ObjectId("5e50e378f8647eb59e56205d"), "SubjectName": "MySQL" }
{ "_id": ObjectId("5e50e37df8647eb59e56205e"), "SubjectName": "MongoDB" }

केवल अद्वितीय मान संग्रहीत किए गए। नोट: यूनिक इंडेक्स बनाने से पहले सुनिश्चित करें कि संग्रह में पहले से डुप्लिकेट मान नहीं हैं, अन्यथा इंडेक्स निर्माण विफल हो जाएगा।

  1. जावास्क्रिप्ट में ऐरे के एलिमेंट्स को उसी ऐरे में डुप्लिकेट कैसे करें? जावास्क्रिप्ट में ऐरे के एलिमेंट्स को उसी ऐरे में डुप्लिकेट कैसे करें?

    ऐरे के एलिमेंट्स को उसी ऐरे में डुप्लिकेट करने का कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 > <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style>    

  1. - MongoDB में ID द्वारा सॉर्ट करें और आइटम्स को रिवर्स करें

    $natural ऑपरेटर दस्तावेजों को नेचुरल ऑर्डर (सम्मिलन क्रम) में लौटाता है। आइटम्स को रिवर्स करने के लिए $natural:-1 का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo710.insertOne({id:101,Name:Robert}); { acknowledged : true, insertedId : ObjectId(5ea83a855d33e20ed1097b7a) } >

  1. - MySQL में GROUP BY और ORDER BY से समान नाम वाले छात्रों के स्कोर का योग निकालें

    नाम के अनुसार ग्रुप करके कुल स्कोर जोड़ना और सॉर्ट करना समान नाम वाले छात्रों के स्कोर का योग निकालने के लिए GROUP BY StudentName के साथ SUM(Score) उपयोग करें, फिर ORDER BY SUM(Score) से सॉर्ट करें। टेबल और डेटा CREATE TABLE countRowValueDemo ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,