मैं उपयोग कर रहा हूँ, Mongo 3.4.0
$ नाम बदलने वाला ऑपरेटर किसी फ़ील्ड का नाम अपडेट करता है और उसके निम्न रूप होते हैं:
{$rename: { <field1>: <newName1>, <field2>: <newName2>, ... } }
उदाहरण के लिए
db.getCollection('user').update( { _id: 1 }, { $rename: { 'fname': 'FirstName', 'lname': 'LastName' } } )
नया फ़ील्ड नाम मौजूदा फ़ील्ड नाम से भिन्न होना चाहिए। किसी एम्बेडेड दस्तावेज़ में निर्दिष्ट करने के लिए, डॉट नोटेशन का उपयोग करें।
यह ऑपरेशन संग्रह में सभी दस्तावेजों के नाम के लिए फ़ील्ड nmae का नाम रखता है:
db.getCollection('user').updateMany( {}, { $rename: { "add": "Address" } } )
db.getCollection('user').update({}, {$rename:{"name.first":"name.FirstName"}}, false, true);
झूठे के ऊपर की विधि में, सत्य हैं: {upsert: false, multi: true}। अपने सभी रिकॉर्ड अपडेट करें, आपको बहु की आवश्यकता है - सत्य।
एक एंबेडेड दस्तावेज़ में एक फ़ील्ड का नाम बदलें
db.getCollection('user').update( { _id: 1 }, { $rename: { "name.first": "name.fname" } } )
लिंक का उपयोग करें: https://docs.mongodb.com/manual/reference/operator/update/rename/
false, true
मेंupdate
की विधि$rename
संस्करण हैं:{ upsert:false, multi:true }
। आपकोmulti:true
अपने सभी रिकॉर्ड को अपडेट करने की आवश्यकता है ।