У меня есть следующий документ.
{
name: 'XYZ',
SubscriptionPeriods" : [{
"_id" : null,
"PeriodCode" : "1M",
"Fee" : "100"
}, {
"_id" : null,
"PeriodCode" : "3M",
"Fee" : "300"
}]
}
Администратор может обновлять периоды подписки; он может удалить существующие периоды и / или добавить новые периоды в том же обновлении. Сначала я думал, что смогу добиться этого, выполнив PullAll (...) и PushAll (...) для элемента SubscriptionPeriods в одном обновлении (...). Но оказалось, что mongodb не принимает поле дважды в обновлении (...). Я мог бы сделать PullAll (...) и PushAll (...) в 2 разных обновлениях (...). Но я не использовал этот подход, потому что если кто-то попытается прочитать SubscriptionPeriods между PullAll () и PushAll (), он получит пустой SubscriptionPeriods, и это не приемлемо.
Итак, я придумал это; Я создал другой элемент с именем SubscriptionPeriods1 в одном обновлении и переименовал его в SubscriptionPeriod в другом обновлении. Похоже, что работает хорошо. Но мне интересно, если я что-то упускаю здесь! Я ценю любые комментарии, которые гуру MongoDB может иметь для меня!