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

MongoDB में केवल ObjectId के साथ रो अपडेट कैसे करें?

MongoDB में किसी दस्तावेज़ को उसके _id (ObjectId) द्वारा अपडेट करने के लिए, फिल्टर में ObjectId("...") का उपयोग करें और नए मान सेट करने के लिए $set का उपयोग करें।

उदाहरण: छात्र संग्रह

> db.demo34.insertOne({"StudentFirstName":"Chris","StudentAge":24});
{ "acknowledged" : true, "insertedId" : ObjectId("5e1758b4cfb11e5c34d898cd") }
> db.demo34.insertOne({"StudentFirstName":"David","StudentAge":23});
{ "acknowledged" : true, "insertedId" : ObjectId("5e1758bdcfb11e5c34d898ce") }
> db.demo34.insertOne({"StudentFirstName":"Bob","StudentAge":20});
{ "acknowledged" : true, "insertedId" : ObjectId("5e1758c6cfb11e5c34d898cf") }

दस्तावेज़ देखना

> db.demo34.find();

आउटपुट: तीन दस्तावेज़।

ObjectId द्वारा अपडेट

> db.demo34.update(
    { _id: ObjectId("5e1758bdcfb11e5c34d898ce") },
    { $set: { "StudentFirstName": "Mike", "StudentAge": 19 } }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

परिणाम जांचें

> db.demo34.find();

आउटपुट: दूसरा दस्तावेज़ अब "Mike", 19 दिखाता है।

मुख्य बिंदु

  • फिल्टर में हमेशा ObjectId("...") का उपयोग करें, स्ट्रिंग नहीं (जब तक ड्राइवर स्वचालित रूपांतरण न करे)।
  • पुराने update() के बजाय updateOne() (एकल) या updateMany() (एकाधिक) पसंद करें।
  • $set केवल निर्दिष्ट फील्ड्स को संशोधित करता है; अन्य फील्ड्स अपरिवर्तित रहते हैं।
  • लिखने की चिंता और पुष्टि के लिए परिणाम ऑब्जेक्ट (nMatched, nModified) की जांच करें।

आधुनिक सिंटैक्स (MongoDB 3.2+)

> db.demo34.updateOne(
    { _id: ObjectId("5e1758bdcfb11e5c34d898ce") },
    { $set: { "StudentFirstName": "Mike", "StudentAge": 19 } }
);
  1. - MongoDB क्वेरी: फॉर्मूला के साथ कलेक्शन में प्रत्येक डॉक्यूमेंट के प्रत्येक फील्ड को अपडेट करें

    कलेक्शन में प्रत्येक डॉक्यूमेंट के प्रत्येक फील्ड को फॉर्मूला के साथ अपडेट करने के लिए MongoDB update() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo749.insertOne({details:[{ id:1,a:10},{id:2,a:5},{id:3,a:20}]}); { acknowledged : true, insertedId : ObjectId(5eae6fb0a930c785c834e565) } find(

  1. - MongoDB में एक क्वेरी से कई डॉक्यूमेंट्स कैसे अपडेट करें?

    एक क्वेरी से कई डॉक्यूमेंट्स अपडेट करने के लिए MongoDB में bulkWrite() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo760.insertOne({id:1,details:{Value1:100,Value2:50}}); { acknowledged : true, insertedId : ObjectId(5eb0309f5637cd592b2a4aee) } > db.demo760.insertOne({id:2,details:{Value1:

  1. - क्या हम एकल MySQL क्वेरी में उच्चतम आईडी वाली पंक्ति को अपडेट कर सकते हैं?

    हां, हम ऐसा कर सकते हैं। आइए पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable ( ID INT, GameScore INT ); टेबल में कुछ रिकॉर्ड डालें: INSERT INTO DemoTable VALUES(31, 948474); टेबल से सभी रिकॉर्ड प्रदर्शित करें: SELECT * FROM DemoTable; आउटपुट +------+-----------+ | ID | GameScore | +-----