MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मैं MongoDB में सभी दस्तावेज़ों के लिए एक फ़ील्ड का नाम कैसे बदल सकता हूँ?

आप उपयोग कर सकते हैं:

db.foo.update({}, {$rename:{"name.additional":"name.last"}}, false, true);

या केवल उन दस्तावेज़ों को अपडेट करने के लिए जिनमें संपत्ति है:

db.foo.update({"name.additional": {$exists: true}}, {$rename:{"name.additional":"name.last"}}, false, true);

false, true उपरोक्त विधि में हैं:{ upsert:false, multi:true } . आपको multi:true की आवश्यकता है सभी को अपडेट करने के लिए आपके रिकॉर्ड।

या आप पहले वाले तरीके का इस्तेमाल कर सकते हैं:

remap = function (x) {
  if (x.additional){
    db.foo.update({_id:x._id}, {$set:{"name.last":x.name.additional}, $unset:{"name.additional":1}});
  }
}

db.foo.find().forEach(remap);

MongoDB 3.2 में आप इसका उपयोग भी कर सकते हैं

db.students.updateMany( {}, { $rename: { "oldname": "newname" } } )

इसका सामान्य सिंटैक्स है

db.collection.updateMany(filter, update, options)

https://docs.mongodb.com/manual/reference/method/db.collection.updateMany/



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्प्रिंग डेटा MongoDB में GridFS

  2. मैं Node.js Mongoose का उपयोग करके दस्तावेज़ कैसे निकालूं?

  3. नेस्टेड सरणियों को अद्यतन करने के लिए स्थितीय `$` ऑपरेटर का एकाधिक उपयोग

  4. मोंगोडीबी सुरक्षा - नोएसक्यूएल डीबी सुरक्षित रखने के लिए संसाधन

  5. MongoDB दस्तावेज़ में निहित सरणी में निहित उप-दस्तावेज़ को अपडेट करें