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

Как добавить поле в массив, который находится в объекте (mongoDB)?

вот такая DB:
{
    "_id" : "NGhp5Ad8cTvcQaWjf",
    "profile" : {
        "name" : "dsfsdf",
        "favorites" : [ 
        ]
    }
}

Нужно добавить поле в массив "favorites".
Следующий запрос не работает по причине "Cannot apply $push modifier to non-array for field 'profile' [409]":
Meteor.users.update({"_id" : Meteor.userId()}, {$push: {"profile" : {"favorites": instance.data.userId}}})
  • Вопрос задан
  • 1735 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@Urukhayy
Свойство $push, в качестве значения, принимает объект со свойством, соответствующим названию массива. В вашем случае -- $push принимает объект со свойством "profile", которое указывает на поле, не являющееся массивом. Нужно так:
$push: {
    "profile.favorites": ......
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
06 янв. 2025, в 09:53
3333 руб./за проект
06 янв. 2025, в 08:44
10000 руб./за проект
06 янв. 2025, в 08:25
50000 руб./за проект