Ну, ответ, вероятно, нет, но мне любопытно спросить.Используйте два push-es в команде update
У меня есть документ, который имеет два уровня массива в нем:
{ '_id : '...' , events : [ urls : [], social_id : [] ], 'other_data' : '...' }
Код ниже работ. Что такое update на конкретном событии, массив url и добавляет к этому значение event['event_url']
(python).
db.col.update(
{ 'f_id' : venue['id'],
"events.title" : find_dict["events.title"] },
{ '$addToSet': { 'events.$.urls': event['event_url']} }
)
Однако в этом же случае я хочу добавить социальный идентификатор, если он не существует.
db.col.update(
{ 'f_id' : venue['id'],
"events.title" : find_dict["events.title"] },
{ '$addToSet': { 'events.$.social_id': event['social_id']} }
)
Я блуждал, если можно объединить приведенные выше команды в одно и не запустить обновление дважды. Я ничего не нашел в документации, но я думаю, это стоит спросить.