Оператор $rename переименовывает поля в документах MongoDB. Синтаксис: { $rename: { <имя_старого_поля>: "<новое_имя_поля>" } }. Новое имя поля должно быть строкой.
Пример использования
Переименуем поле cartID в orderID и anotherField в anotherName.
db.collection.updateMany(
{ cartID: { $exists: true } },
{
$rename: {
cartID: "orderID",
anotherField: "anotherName"
}
}
)
Запрос находит документы с полем cartID ({ cartID: { $exists: true } }). Оператор $rename переименовывает cartID в orderID и anotherField в anotherName. updateMany обновляет несколько документов. Если поле отсутствует, переименование не выполняется.
Возврат к исходному имени
Чтобы вернуть исходное имя, повторите операцию $rename, поменяв местами старое и новое имена:
db.collection.updateMany(
{ "orderID": { $exists: true } },
{ $rename: { "orderID": "cartID" } }
)
Порядок полей
После переименования, новое поле добавляется в конец документа. MongoDB сначала удаляет старое поле, затем добавляет новое.
Оператор $rename — простой и эффективный инструмент для переименования полей в документах MongoDB, упрощающий работу с данными и поддерживающий согласованность структуры.