MongoDB跟随/取消关注架构设计

时间:2018-03-27 07:10:54

标签: mongodb mongoose

我正在开发一个关注/取消关注功能,我需要设计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以跟踪所有跟随/取消跟踪操作。什么模式更适合。

感谢。

1 个答案:

答案 0 :(得分:0)

我解决问题的方法是使用SoftDelete。我总是创建一条新记录以备关注,如果再次取消关注,则添加了deleted: Date。这样,我就可以跟踪跟踪/取消跟踪历史。