MongoDB में सभी डॉक्यूमेंट के लिए फील्ड नाम बदलने (रीनेम) के लिए $rename ऑपरेटर का उपयोग update() के साथ करें। सिंटैक्स:
db.yourCollectionName.update({}, {$rename: {"yourOldFieldName": "yourNewFieldName"}}, false, true);
पैरामीटर: false = अपसर्ट नहीं, true = मल्टीपल डॉक्यूमेंट अपडेट करें।
उदाहरण से समझें
एक कलेक्शन बनाकर डॉक्यूमेंट इन्सर्ट करते हैं:
> db.renameFieldDemo.insertOne({"StudentName": "John"});
> db.renameFieldDemo.insertOne({"StudentName": "Carol"});
> db.renameFieldDemo.insertOne({"StudentName": "Bob"});
> db.renameFieldDemo.insertOne({"StudentName": "David"});
> db.renameFieldDemo.insertOne({"StudentName": "Maxwell"});
सभी डॉक्यूमेंट देखने के लिए:
> db.renameFieldDemo.find().pretty();
आउटपुट (बदलाव से पहले):
{ "_id": ..., "StudentName": "John" }
{ "_id": ..., "StudentName": "Carol" }
{ "_id": ..., "StudentName": "Bob" }
{ "_id": ..., "StudentName": "David" }
{ "_id": ..., "StudentName": "Maxwell" }
अब StudentName को StudentFirstName में रीनेम करने के लिए:
> db.renameFieldDemo.update({}, {$rename: {"StudentName": "StudentFirstName"}}, false, true);
WriteResult({ "nMatched": 5, "nUpserted": 0, "nModified": 5 })
फिर से डॉक्यूमेंट चेक करें:
> db.renameFieldDemo.find().pretty();
आउटपुट (बदलाव के बाद):
{ "_id": ..., "StudentFirstName": "John" }
{ "_id": ..., "StudentFirstName": "Carol" }
{ "_id": ..., "StudentFirstName": "Bob" }
{ "_id": ..., "StudentFirstName": "David" }
{ "_id": ..., "StudentFirstName": "Maxwell" }
सभी 5 डॉक्यूमेंट में फील्ड नाम सफलतापूर्वक बदल गया।