Я видел много документов и вопросов о том, как создать поле со значением существующего поля, но ни один из прочитанных мной не объясняет, как создать поле с существующим, но вложенным значением..
Вот два примера запросов, которые я пытался выполнить:
db.getCollection('bots').find({name:/PORTER/}).update({ $set: {'theme.css.greeterFontColor' : $theme.css.primaryColor}})
db.getCollection('bots').find({name:/PORTER/}).update({ $set: {'theme.css.greeterFontColor' : '$theme.css.primaryColor'}})
В обоих случаях новое поле не было создано.
edit - Я не согласен с тем, что это дубликат, поскольку этот связанный вопрос охватывает только значения, которые не являются вложенными, и решения, предлагаемые в ответах, не сработали для меня.