数据库noob在这里使用MongoDB,在我的程序中,我有用户,我的程序的核心是我显示的这些路线图。所以,每个用户都可以创建路线图,保存其他路线图,等等。。。每个用户都有一个名为savedRoadmaps和createdRoadmaps的字段,该字段应存储路线图。我的问题是,我应该将路线图id存储在savedRoadmap和createdRoadmaps字段中还是整个路线图?
我这么问是因为感觉只保存路线图的id可以节省存储空间,但是如果我必须先获取用户的数据,然后使用用户的savedRoadmap/createdRoadmap字段中的路线图id获取路线图,那么它可能不会派上用场,而仅仅获取用户和savedRoadmap字段就已经有了路线图。
顺便问一下,有没有什么甜蜜和简短的数据库设计宣读,请直接给我一些,如果你知道!
对于用户,我希望它有一个名称、电子邮件、密码、课程描述,以及savedRoadmaps和createdRoadmaps。用户可以创建无限的路线图,也可以随心所欲地节省开支。对于路线图,我希望它有一个名称、类别、完成时间、作者、日期和一个包含实际json字符串的路线图对象,我将使用d3来显示它。下面是我的用户和路线图模式:
const RoadmapSchema = new Schema({
author: {
type: String,
require: false
},
name: {
type: String,
require: true
},
category: {
type: String,
require: true
},
time_completion: {
type: Number,
require: true
},
date: {
type: Date,
default: Date.now
},
roadmap: {
type: "object",
require: true
}
});
const UserSchema = new Schema({
name: {
type: String,
required: true
},
email: {
type: String,
required: true
},
password: {
type: String,
required: true
},
date: {
type: Date,
default: Date.now
},
savedRoadmap: {
type: "object",
default: []
},
createdRoadmap: {
type: "object",
default: []
}
});
我的问题是,在用户模式的savedRoadmap和createdRoadmap字段中,我应该只包含路线图的id,还是应该包含表示路线图的整个json字符串?