猫鼬从一个集合中获取链接结果并将其传递给另一个

时间:2020-07-13 15:46:32

标签: javascript database mongodb mongoose promise

我在mongo中有2个收藏集,如下所示:

posts
    user_id
    description

activity
    user_id
    likes: [posts, posts, posts]

我想获取特定用户的所有活动。因此,我首先要获取特定用户的所有活动,然后我也希望获取这些活动的所有帖子,因此我尝试将其链接到then,但到那时为止,问题一直到第二个。功能...结果变得不确定。在mongo上使用聚合有更好的方法吗?

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)
    });
}

0 个答案:

没有答案