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

MongoDB में रिकॉर्ड इन्सर्ट करें यदि यह मौजूद नहीं है (Upsert)

MongoDB में रिकॉर्ड तभी इन्सर्ट करें जब वह मौजूद न हो, इसके लिए update() के साथ upsert: true विकल्प का उपयोग करें।

उदाहरण से समझें

एक कलेक्शन बनाकर डॉक्यूमेंट इन्सर्ट करते हैं:

> db.insertIfNotExistsDemo.insertOne({"StudentName": "Mike", "StudentAge": 21});
> db.insertIfNotExistsDemo.insertOne({"StudentName": "Sam", "StudentAge": 22});

सभी डॉक्यूमेंट देखने के लिए:

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

आउटपुट:

अब StudentName: "David" वाले रिकॉर्ड को इन्सर्ट करें यदि मौजूद नहीं है:

> var key = {"StudentName": "David"};
> var value = {"StudentName": "David", "StudentAge": 26};
> db.insertIfNotExistsDemo.update(key, value, {upsert: true});

आउटपुट:

nMatched: 0 और nUpserted: 1 दर्शाता है कि नया डॉक्यूमेंट इन्सर्ट हुआ।

फिर से सभी डॉक्यूमेंट चेक करें:

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

आउटपुट:

यदि रिकॉर्ड पहले से मौजूद होता, तो अपडेट होता। upsert: true इसे "इन्सर्ट इफ नॉट एक्जिस्ट" बनाता है।

आधुनिक सिंटैक्स: MongoDB 3.2+ में updateOne() या updateMany() के साथ {upsert: true} विकल्प का उपयोग करें।

  1. - MySQL में केवल वही रिकॉर्ड कैसे डालें जो मौजूद नहीं हैं?

    MySQL में डुप्लिकेट रिकॉर्ड रोकने और केवल नए रिकॉर्ड डालने के लिए कॉलम पर UNIQUE INDEX बनाएं। टेबल निर्माण mysql> CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName VARCHAR(20) ); यूनिक इंडेक्स बनाएं mysql> CREATE UNIQUE INDEX index_on_FirstName ON DemoTab

  1. - MySQL में NOT IN से मान न होने वाली पंक्तियां चुनें

    NOT IN ऑपरेटर से विशिष्ट मानों को बाहर रखें कुछ मानों को छोड़कर बाकी पंक्तियां प्राप्त करने के लिए NOT IN() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1991 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20) ); Query OK, 0 rows affected (0.61 se

  1. C# में फ़ोल्डर कैसे बनाएं यदि वह मौजूद नहीं है? C# में फ़ोल्डर कैसे बनाएं यदि वह मौजूद नहीं है?

    डायरेक्टरी बनाने के लिए, हमें पहले C# में System.IO नेमस्पेस को इम्पोर्ट करना होगा। नेमस्पेस एक लाइब्रेरी है जो आपको डायरेक्टरी बनाने, कॉपी करने, मूव करने और डिलीट करने के लिए स्टैटिक मेथड्स तक पहुंचने की अनुमति देती है। C# में किसी भी फाइल ऑपरेशन करने से पहले डायरेक्टरी मौजूद है या नहीं यह जांचना