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

MongoDB क्वेरी केवल टाइमस्टैम्प जोड़ने के लिए यदि वह मौजूद नहीं है


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

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

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

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

> 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 क्वेरी

    एकाधिक लेखन कार्य करने के लिए, बल्कवाइट () का उपयोग करें। आइए एक सरणी सूची मान बनाएं। निम्नलिखित प्रश्न है - > const arrayList = [ ...    {"Value1":100, "Value2":200, "Name": "John"}, ...    {"Value1":100, "Value2":20

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

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

  1. सरणी के केवल एक तत्व को टुकड़ा करने के लिए MongoDB क्वेरी

    सरणी के केवल एक तत्व को स्लाइस करने के लिए, MongoDB में $slice का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo579.insertOne( ...    { ...       "_id" : 101, ...       "details" : { "FirstName" : "John"