如何获取用户的帖子及其所有关注的帖子(Mongodb,Mongoose,Nodejs)
用户架构
const userSchema = new mongoose.Schema({
firstName: { type: String, required: true, trim: true },
lastName: { type: String, required: true, trim: true },
});
userSchema.set('timestamps', true);
export default mongoose.model('user', userSchema);
字符串
关注者架构
const followSchema = new mongoose.Schema({
follower: { type: mongoose.Schema.Types.ObjectId, ref: 'user' },
following: { type: mongoose.Schema.Types.ObjectId, ref: 'user' },
status: { type: Boolean, default: true }
});
followSchema.set('timestamps', true);
export default mongoose.model('follow', followSchema);
型
职位架构
const postSchema = new mongoose.Schema({
userId: { type: mongoose.Schema.Types.ObjectId, ref: 'user' },
contents: { type: String, trim: true },
photo: { type: String }
});
postSchema.set('timestamps', true);
export default mongoose.model('post', postSchema);
型
在此先谢谢您!:)
3条答案
按热度按时间3npbholx1#
Hy Alamghir很高兴在这里看到你,很抱歉你仍然没有得到答案,我可以在看到你的模式后建议你,我认为没有必要创建三个集合,你只需要2个模式第一个
字符串
现在,在followers数组中,只需推送关注此用户的用户的ID现在,您可以很容易地让这些人像这样完成帖子,假设您在
userData
变量中有用户数据,现在您可以这样做型
xxe27gdn2#
对不起,你的问题错了。
可能有更好的解决方案,但你应该能够做到这一点:
(this获取关注您的原始用户的人的帖子。如果你的意思是相反的,只要切换:))
字符串
你能试试这个,告诉我们这对你是否有效吗?
5uzkadbs3#
您需要使用
$graphLookup
聚合来获取建议用户