/ / mongodb 3.2 में फ़ील्ड नाम को कैसे ढूंढें और नाम बदलें - json, mongodb, mongodb-query

mongodb 3.2 - json, mongodb, mongodb-query में फ़ील्ड नाम को कैसे ढूंढें और नाम बदलें

मैं MongoDB में फ़ील्ड नाम का नाम कैसे बदल सकता हूं?

मैं उन सभी फ़ील्ड नामों को प्रतिस्थापित करना चाहता हूं जो $ से शुरू होते हैं।

धन्यवाद!

उत्तर:

जवाब के लिए 0 № 1

मैंने कुछ लिंक देखा और आपके लिए समस्या का समाधान किया

सबसे पहले आपको अपना सभी कॉलम प्राप्त करने की आवश्यकता है, आप इसे MapReduce के साथ कर सकते हैं:

mr = db.runCommand({
"mapreduce" : "my_collection",
"map" : function() {
for (var key in this) { emit(key, null); }
},
"reduce" : function(key, stuff) { return null; },
"out": "my_collection" + "_keys"
});

फिर परिणामस्वरूप संग्रह पर अलग चलाएं ताकि सभी चाबियाँ मिल सकें:

columns = db[mr.result].distinct("_id")

और सभी मिलान कॉलम का नाम बदलें

columns.forEach(function(columnName) {
if (columnName.indexOf("$") == 0) {
var newColumnName = columnName.replace("$", "&");
rename_query = { "$rename": {} };
rename_query["$rename"][columnName] = newColumnName;
db.my_collection.updateMany({}, rename_query)
}
})

संदर्भ लिंक हैं

MongoDB संग्रह में सभी चाबियों के नाम प्राप्त करें

मोंगो डीबी $ कुंजी नाम के लिए जावास्क्रिप्ट चर का नाम बदलें