ms-dred
@ms-dred
Вечно что то не то и что то не так...

Есть ли возможность упростить запрос при выборке массива идентификаторов?

Мне нужно получить массив идентификаторов где упоминается пользователь, делаю я это так
return  Collection.aggregate([
        {
            $match: {
                likes: userId
            }
        }, {
            $group: {
                _id: null,
                ids: {
                    $addToSet: '$_id'
                }
            }
        
    }]).then(e => {
        return e[0].ids
    })

Хочу избавиться от return e[0].ids, есть ли возможность при выборке выплюнуть сразу нужный массив? Может быть есть такой то метод в mongodb для этого дела?
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
@Lebed71
Node.js Developer
Можно написать что нибудь в духе:
const [{ ids: idsArray }] = await Collection.aggregate([
        {
            $match: {
                likes: userId
            }
        }, {
            $group: {
                _id: null,
                ids: {
                    $addToSet: '$_id'
                }
            }
    }]);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы