Задать вопрос
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'
        }
    ]
}
  • Вопрос задан
  • 498 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Skillbox
    Курс Java-разработчик
    4 месяца
    Далее
  • MongoDB University
    MongoDB Atlas Administrator Path
    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)
Ответ написан
Ваш ответ на вопрос

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

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