Я думаю, что вы поняли это, но, хотя у mongo нет хороших операторов для работы с вложенными объектами с произвольными ключами, у нее есть отличные операторы массива, которые позволяют (и быстро!) Обновлять и обрабатывать вложенные объекты.массив документов.Вы даже можете создавать индексы, которые работают с ключами в массивах, чтобы ускорить запросы.
В зависимости от того, насколько код вашего приложения зависит от этой структуры массива, вы можете сначала преобразовать ваши документы в массивы, а затем использовать https://docs.mongodb.com/manual/reference/operator/update/positional-filtered/ чтобы обновить ваши документы.Чтобы преобразовать ваши документы, вы можете написать скрипт в коде приложения, написать скрипт в оболочке mongo в js или использовать конвейер агрегации с $ out для записи ваших документов в новую коллекцию.
При обновлениисхема неосуществима, я думаю, вам придется написать скрипт для изменения этих вложенных полей документа.