Mongoose用户架构设计和帖子数组在ref

时间:2013-12-12 17:11:00

标签: node.js mongodb mongoose

我的架构设计如下。我有post数组,它引用了post模型。将它放在用户架构中是不是一个好主意,或者我不应该包括它,因为它总是随着用户添加帖子而增长。我想我应该只将accessstokens放在引用而不是帖子中。我在想吗?

var UserSchema = new Schema({
  username: {
    type: String,
    unique: true,
    required: true,
    lowercase: true,
    trim: true
  },
  encrypted_password: {
    type: String,
    required: true
  },
  salt: {
    type: String,
    required: true
  },
  email: {
    type: String,
    unique: true,
    required: true,
    lowercase: true,
    trim: true
  },
  mobile: {
    type: Number,
    unique: true
  },
  bio: {
    type: String
  },
  created: {
    type: Date,
    default: Date.now
  },
  access_tokens: [{type: Schema.Types.ObjectId, ref: 'AccessToken'}],
  posts: [{type: Schema.Types.ObjectId, ref: 'Post'}]
}, { collection: 'users' });

1 个答案:

答案 0 :(得分:1)

您应该为帖子设置单独的集合,但是您应该将access_tokens保留在用户架构中。您可以考虑将帖子分成自己的集合的一个很好的理由是,有许多用例只能查询帖子。但是,对于access_tokens,它们将始终与用户绑定。

  

tldr;

     

帖子应该有自己的架构

     

访问令牌应该是用户架构

希望有所帮助!