Переименование длинных имен столбцов MongoDB короче, в реальном приложении

Как и большинство людей из реляционного фона, мы придерживались довольно больших имен столбцов. Теперь код + приложение закодирован и протестирован. Но лучшие практики Монго отмечают, что имена ключей должны быть короткими, поскольку каждое имя столбца хранится в каждом документе. Чтобы усложнить ситуацию, мы используем Mongo-драйверы напрямую, без какого-либо слоя отображения, такого как Morphia и т.д.

Позвольте мне перефразировать: даже если я использую $ rename для переименования столбцов, клиентская APP все еще использует более длинные имена. Затем мне нужно сделать какое-то преобразование JSON, на каждом выходящем документе и входить: по пути {U: "", C: ""} необходимо будет {Обновлено: "", Создано: ""}, Наоборот, наоборот.

1 ответ

Вы можете переименовывать ключи один за другим во всех записях с несколькими обновлениями, используя оператор $ rename, который обновляет имя поля:

db.collection.update({}, {$rename:{"foo":"bar"}}, false, true);

Опция false для upsert и true для мульти-обновления.

licensed under cc by-sa 3.0 with attribution.