Добрый день господа, есть документ вида { "_id": ObjectId('608e34b956f4cf9e182fc29f'),

"phones": [
{"number": "1111"
"years": [2020,2021]},
....
{"number": "5555"
"years": [2021]}
]
}

необходимо в элемент
{"number": "5555"
"years": [2021]}
добавить 2019 в массив годов, а так же добавить новый номер в массив телефонов одним запросом
db.collection.updateOne(
{'$addToSet':
{ 'phones.$[ph0].years': 2019,
'phones': [{
"number": '7777',
"year:[2022]"
}]
},
{arrayFilter": [{"ph0.number": "5555" }]}
)
Такой запрос даёт ошибку
Updating the path 'phones' would create a conflict at 'phones'
Может знаете как правильно делать такие апдейты?

1 ответов

29 просмотров

Посмотрите на апдейт с агрегацией https://docs.mongodb.com/manual/tutorial/update-documents-with-aggregation-pipeline/

Похожие вопросы

Обсуждают сегодня

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Как думаете через какой сервис они верифицируют?
inc.
5
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Добрый день! Подскажите, каким сборщиком фронта для OctoberCMS кто пользуется? Я имею ввиду сборщики, с которыми можно работать по стандартной схеме директорий октября. Я испо...
Николай Афанасенко
2
Вопрос: Здравствуйте! У меня возникла проблема с использованием плагина Mall в OctoberCMS. Я использую все файлы и компоненты в их исходном виде, без изменений. Однако на стр...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
8
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
9
На чём в основном щас пишут мини апы? Vuejs?
Goot evening Not everyone
6
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
🙋 Ребята, всем привет. Поправил задачу: Нужно каждому новому сообщению (1 раз по каждому юзеру) в чате прибавлять снизу кнопку с предложением подписаться на канал. Как добавит...
Alexander
1
Просто по очереди выпиливаешь на ручной маппинг? По методу за раз
Andrii Kurdiumov
7
Карта сайта