Задать вопрос
ms-dred
@ms-dred
Вечно что то не то и что то не так...

Как при агрегировании записей в project найти _id в массиве и получить только его?

Можно ли найти при агрегировании _id и оставить в массиве только его или вывести true (то что он присутствует в массиве)?

Вот сам документ
likes: [ObjectId('id_user_1'), ObjectId('id_user_2'), ObjectId('id_user_3')]

При выборке я знаю _id пользователя (sessionId)
.aggregate([
    $project: {
        _id: 1,
        likes: {
             // вывести если найден _id - true, либо false , или оставить только найденный id в массиве или пустой массив
        }
    }
])

Можно ли такое провернуть?

Пробовал так и не помогло
likes: { $filter: {
    input: "$likes",
    as: "likes",
    cond: {  "_id": request.sessionId }
}}
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Node.js для backend-разработки
    6 месяцев
    Далее
  • Skillbox
    Node.js
    2 месяца
    Далее
  • Яндекс Практикум
    Бэкенд на Node.js для фронтенд-разработчиков
    3 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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