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

MongoDB क्वेरी: टाइमस्टैम्प केवल तभी जोड़ें जब मौजूद न हो


इसके लिए MongoDB में upsert और multi का उपयोग करें:

Upsert - यदि true पर सेट है, तो जब कोई दस्तावेज़ क्वेरी मानदंड से मेल नहीं खाता तो नया दस्तावेज़ बनाता है। डिफ़ॉल्ट मान false है, जो मेल न मिलने पर नया दस्तावेज़ इन्सर्ट नहीं करता।

Multi - यदि true पर सेट है, तो क्वेरी मानदंड पूरा करने वाले कई दस्तावेज़ अपडेट करता है। यदि false पर सेट है, तो एक दस्तावेज़ अपडेट करता है। डिफ़ॉल्ट मान false है।

आइए दस्तावेज़ों के साथ एक संग्रह बनाएं:

> db.demo479.insertOne({"DueDate":new ISODate("2020-01-10"),"Name":"Chris"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e820733b0f3fa88e2279094") } > db.demo479.insertOne({"Name":"David"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e820748b0f3fa88e2279095") } > db.demo479.insertOne({"DueDate":new ISODate("2019-12-31"),"Name":"Bob"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e82075fb0f3fa88e2279096") } > db.demo479.insertOne({"Name":"Carol"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e820767b0f3fa88e2279097") }

सभी दस्तावेज़ प्रदर्शित करें

> db.demo479.find();

आउटपुट:

{ "_id" : ObjectId("5e820733b0f3fa88e2279094"), "DueDate" : ISODate("2020-01- 10T00:00:00Z"), "Name" : "Chris" } { "_id" : ObjectId("5e820748b0f3fa88e2279095"), "Name" : "David" } { "_id" : ObjectId("5e82075fb0f3fa88e2279096"), "DueDate" : ISODate("2019-12- 31T00:00:00Z"), "Name" : "Bob" } { "_id" : ObjectId("5e820767b0f3fa88e2279097"), "Name" : "Carol" }

टाइमस्टैम्प फ़ील्ड केवल तभी जोड़ने की क्वेरी जब मौजूद न हो

> db.demo479.update({DueDate:{$exists:false}}, {$set : {"DueDate":new Date}}, {upsert:false, multi:true}); WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

अपडेट के बाद सभी दस्तावेज़ प्रदर्शित करें

> db.demo479.find();

आउटपुट:

{ "_id" : ObjectId("5e820733b0f3fa88e2279094"), "DueDate" : ISODate("2020-01- 10T00:00:00Z"), "Name" : "Chris" } { "_id" : ObjectId("5e820748b0f3fa88e2279095"), "Name" : "David", "DueDate" : ISODate("2020-03-30T14:52:29.656Z") } { "_id" : ObjectId("5e82075fb0f3fa88e2279096"), "DueDate" : ISODate("2019-12- 31T00:00:00Z"), "Name" : "Bob" } { "_id" : ObjectId("5e820767b0f3fa88e2279097"), "Name" : "Carol", "DueDate" : ISODate("2020-03-30T14:52:29.656Z") }

  1. - MongoDB में bulkWrite का उपयोग करके एकाधिक दस्तावेज़ कैसे जोड़ें?

    MongoDB में bulkWrite() का उपयोग करके एक ही ऑपरेशन में कई लिखने के ऑपरेशन (इन्सर्ट, अपडेट, अपसर्ट, डिलीट) कुशलतापूर्वक निष्पादित करें। यह नेटवर्क राउंड-ट्रिप को कम करता है और परमाणु बैच प्रसंस्करण की अनुमति देता है। उदाहरण: अपसर्ट ऑपरेशन की सरणी तैयार करें { op1.push({ updateOne: {

  1. - MongoDB क्वेरी: दस्तावेज़ों में विशिष्ट फ़ील्ड के मान जोड़ें

    आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo677.insertOne({Value:10}); { acknowledged : true, insertedId : ObjectId(5ea421f404263e90dac943f8) } > db.demo677.insertOne({Value:50}); { acknowledged : true, insertedId : ObjectId(5ea421f704263e90dac943f9) } > db.demo677.insertOne({Value:20}

  1. - MongoDB क्वेरी: ऐरे के केवल एक एलिमेंट को स्लाइस करें

    ऐरे के केवल एक एलिमेंट को स्लाइस करने के लिए, MongoDB में $slice का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo579.insertOne( { _id: 101, details: { FirstName: John }, Marks: [56,78,90,34,45,74] } ); { acknowledged : true, insertedId : 101 }