【发布时间】:2019-02-08 20:19:48
【问题描述】:
假设我有一个用户模式,它有大约 30 个字段,还有其他 3 个模式。
UserSchema.js
user_schema = new Schema({
user_id: { type: String},
.........//30 properties
});
ctrs_schema = new Schema({
.........10 properties
});
ids_schema = new Schema({
.........5 properties
});
comments_schema = new Schema({
.........10 properties
});
现在我正在编写一个将改变用户性别的路线,现在为了做到这一点,我可以使用 UserSchema.js 但这会将所有模式加载到我的路线中,而如果我要创建一个新文件,其中只有一个模式和两个字段,那么所有模式都不会被加载到路由的内存中。
UserGenderSchema.js
gender_schema = new Schema({
user_id: { type: String},
gender: { type: String}
});
我知道这两种方式各有利弊
优点 -
如果我必须更改某些内容,我只能在单个文件中进行编辑 适用于任何领域。
缺点 -
正在为所有不必要的路由加载所有模式。记忆 浪费。
线程上两种方式之间的内存使用量会减少吗?
谁能告诉我哪种架构会更好,或者您在项目中实现了什么以及为什么?
谢谢
【问题讨论】:
标签: node.js mongodb mongoose architecture mongoose-schema