如何在mongoDB中查询每个文档的另一个集合

时间:2020-10-01 18:24:02

标签: node.js mongodb mongoose relationship

对不起,标题不清楚,我有点挣扎了。

我正在尝试使用其ID从所有用户的关注者那里获取帖子

PostModel.find({ author: { $in: arr } }).limit(150).sort({ createdAt: -1 }).exec();

并获取每个帖子的热门评论 (由喜欢的次数确定) ,评论架构如下所示

评论模式

const commentSchema: Schema = new Schema({
    author: { type: Schema.Types.ObjectId, ref: 'User' },
    parentPost: {type: Schema.Types.ObjectId, ref: 'Post'}, // Post a user is commenting on
    createdAt: { type: Date, default: Date.now() },
    likedBy: [{type: Schema.Types.ObjectId, ref: 'User'}],
    likes: { type: Number, default: 0 },
});

我遇到的大多数可能的解决方案都与聚集有关,但是我不确定如何在此处应用它,或者如果适用,请问我该如何处理?

1 个答案:

答案 0 :(得分:0)

在聚合的$lookup阶段非常适用:Perform a Single Equality Join with $lookup