Пн goose получить связанный результат из одной коллекции и передать его в другую - PullRequest
0 голосов
/ 13 июля 2020

У меня есть 2 коллекции в пн go следующим образом:

posts
    user_id
    description

activity
    user_id
    likes: [posts, posts, posts]

Я хотел бы получить все действия конкретного пользователя. Итак, я начинаю с получения всех действий для конкретного пользователя, а затем я хотел бы также получить все сообщения об этих действиях, поэтому я пытаюсь связать их с then, но проблема к тому времени переходит ко второй функции. .. результаты становятся неопределенными. Есть ли лучший способ сделать это с помощью агрегата по понедельникам go?

const query = { user_id: user_id}

Activity.findOne(query).lean()
    .then(function(results) {
        console.log(results)
        return results[0]; // returns the right result
    })
    .then(function(user) {
        console.log(user) // returns nulls
        return Posts.find({ user_id: user.user_id }).lean();
    })
    .then(function(results) {
        return results
    })
    .catch(function(err) {
        console.log(err);
        throw(err)
    });
}
...