我正在开发一个关注/取消关注功能,我需要设计mongodb架构。
用户可以关注,用户,帖子,页面等。他们显然也可以取消关注。
我提出了以下架构:
{
created: {
type: Date,
default: Date.now
},
contentType: {
type: String,
required: false,
trim: true
},
contentId: {
type: Schema.ObjectId,
required: true
},
user: {
type: Schema.ObjectId,
ref: 'User'
}
}
我的问题是如何跟踪取消关注案例,我是否应添加deleted: Date
并始终为follow
操作创建新条目。或者我应该创建updateHistory: Array
以跟踪所有跟随/取消跟踪操作。什么模式更适合。
感谢。
答案 0 :(得分:0)
我解决问题的方法是使用SoftDelete
。我总是创建一条新记录以备关注,如果再次取消关注,则添加了deleted: Date
。这样,我就可以跟踪跟踪/取消跟踪历史。