Mongodb совокупное использование совпадает с поиском - PullRequest
0 голосов
/ 06 декабря 2018

Итак, у меня есть этот код:

Achievement.aggregate([
    {"$match": {}}, 
    {
        $lookup: {
            from: "achievementcompleteds", // collection name in db
            localField: "_id",
            foreignField: "achievement_id",
            as: "completed"
        }
    }]).then((results) => {

Итак, что он делает, он показывает достижения пользователю и также показывает, завершен ли он рядом с достижением.Но проблема в том, что если один пользователь завершает достижение, то для каждого пользователя показывается, что оно завершено.Поэтому мне нужно как-то получить achievementcompleteds на user_id.

achievemets: _id title и т. Д.

achievementcompleteds: _id achievement_id user_id

РЕДАКТИРОВАТЬ

Хорошо, поэтому этот код:

 Achievement.aggregate([
       {
        "$lookup": {
            "from": "achievementcompleteds", // collection name in db
            "localField": "_id",
            "foreignField": "achievement_id",
            "as": "completeds"
        }},
        { "$match": {"completeds.user_id": user._id}}
    ]).then((results) => {

возвращает мне только достижения для пользователя, которые завершены.Поэтому проблема в том, что мне нужно вернуть список всех достижений прямо сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...