Задать вопрос
@VelkinVV

Как обновить значение в массиве объекта mongoDB?

Здравствуйте. Помогите с вопросом по монге.
Из ноды делаю запрос на обновление данных, но получаю странную ситуацию.
Имеем такой объект.
_id: 61c4f31d0c7a0a29c238d5c8
firstName:  "NAME",
middleName:  "",
lastName:  "",
phoneNumbers:
    [
       {phoneNumber: "111111", phoneStatus:  false, defaultPhone: true, _id: 61c4f31d0c7a0a29c238d5c9},
       {phoneNumber: "2222", phoneStatus:  false, defaultPhone: true, _id: 61c4f31d0c7a0a29cdff4d5c9},
    ],
avaSrc: ""


Мне необходимо обновить phoneStatus где номер телефона 2222. При попытке это сделать я получаю объект без поля phoneNumber, при этом остальные поля остаются.

Получаю такой вид
[
       {phoneNumber: "111111", phoneStatus:  false, defaultPhone: true, _id: 61c4f31d0c7a0a29c238d5c9},
       {phoneStatus:  true, defaultPhone: true, _id: 61c4f31d0c7a0a29cdff4d5c9},
    ],


Вот пример запроса
await UserModel.findOneAndUpdate({
	phoneNumbers: { $elemMatch: { phoneNumber: "2222"} },
	}, {$set: { phoneNumbers: { phoneStatus:  true}
});


Пробовал использовать updateOne, пробовал без $set, всё равно удаляет поле phoneNumber.

Помогите составить правильный запрос.
  • Вопрос задан
  • 159 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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