我的架构设计如下。我有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' });
答案 0 :(得分:1)
您应该为帖子设置单独的集合,但是您应该将access_tokens
保留在用户架构中。您可以考虑将帖子分成自己的集合的一个很好的理由是,有许多用例只能查询帖子。但是,对于access_tokens
,它们将始终与用户绑定。
tldr;
帖子应该有自己的架构
访问令牌应该是用户架构
希望有所帮助!