Задать вопрос
sldo_ru
@sldo_ru
Frontend Dev. in Birppl

Как найти запись в вложенном массиве объектов MongoDB?

Добрый вечер, есть запись. Необходимо найти пользователя с ID 1, а из его поля items вытянуть объект с _id 24123123dsfasdf32

{
    id: 1,
    items: [
        {
            _id: 24123123dsfasdf32,
            text: 'string'
        }
    ]
},
{
    id: 2,
    items: [
        {
            _id: 2sdfsdfsdf4123123dsfasdf32,
            text: 'string2'
        }
    ]
}
  • Вопрос задан
  • 418 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
sldo_ru
@sldo_ru Автор вопроса
Frontend Dev. in Birppl
Для решения задачи достаточно использовать $elemMatch. Для текущей модели это будет так:

Model.findOne({id: 1}, {items: {$elemMatch: {_id: 24123123dsfasdf32}}).


Полученный объект уже можно распарсить по полям.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
RaShe
@RaShe
find('items._id': 24123123dsfasdf32)
Ответ написан
Ваш ответ на вопрос

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

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