Вот гибкий метод переименования ключей в базе данных.
Учитывая структуру документа, подобную этой ...
{
"_id": ObjectId("4ee5e9079b14f74ef14ddd2f"),
"code": "130.4",
"description": "4'' Socket Plug",
"technicalData": {
"Drawing No": "50",
"length": "200mm",
"diameter: "20mm"
},
}
Я хочу перебрать все документы и переименовать technicalData ["DrawingNo "] to technicalData [" номер чертежа "]
Запустите следующий javascript на панели исполнения в (отлично) RockMongo
function remap(x){
dNo = x.technicalData["Drawing No"];
db.products.update({"_id":x._id}, {
$set: {"technicalData.Drawing Number" : dNo},
$unset: {"technicalData.Drawing No":1}
});
}
db.products.find({"technicalData.Drawing No":{$ne:null}}).forEach(remap);
Код также будетзапустить в оболочке монго