如何使用 spring boot 和 dynamodb 将关系 table 转换为单个 table
How to convert relational tables to one single table using spring boot and dynamodb
我有些困惑,想不出如何使用 dynamodb 来完成
如果我们有例如
学生
课程
老师
每个学生都订阅了很多课程
每个老师可以教授很多课程
每个课程可以有很多学生
我想要的访问模式是
1-通过id获取学生
2-通过id获取老师
3- 通过 id 获取课程
4-通过电子邮件或姓名获取学生
5- 通过电子邮件或姓名联系老师
6- 按名称获取课程
任何人都可以帮助我如何在 java spring 引导中完成此操作
我可以为每个实体编写实体,但我希望它们是一个单独的实体 table,我很困惑如何做到这一点
可能有更好的解决方案,但我会这样组织
Students
{
uid: String,
name: String,
courses: <Courses<uid>>[],
}
Teachers
{
uid: String,
name: String,
courses: <Courses<uid>>[],
}
Courses
{
uid: String,
name: String,
}
// get item by uid
var params = {
TableName: "tableName",
Key:{
"uid": "Youruid",
}
};
docClient.get(params);
// get item by name
var params = {
TableName: "tableName",
Key:{
"name": "SomeName",
}
};
docClient.get(params);
我有些困惑,想不出如何使用 dynamodb 来完成
如果我们有例如 学生 课程 老师
每个学生都订阅了很多课程 每个老师可以教授很多课程 每个课程可以有很多学生
我想要的访问模式是 1-通过id获取学生 2-通过id获取老师 3- 通过 id 获取课程 4-通过电子邮件或姓名获取学生 5- 通过电子邮件或姓名联系老师 6- 按名称获取课程
任何人都可以帮助我如何在 java spring 引导中完成此操作 我可以为每个实体编写实体,但我希望它们是一个单独的实体 table,我很困惑如何做到这一点
可能有更好的解决方案,但我会这样组织
Students
{
uid: String,
name: String,
courses: <Courses<uid>>[],
}
Teachers
{
uid: String,
name: String,
courses: <Courses<uid>>[],
}
Courses
{
uid: String,
name: String,
}
// get item by uid
var params = {
TableName: "tableName",
Key:{
"uid": "Youruid",
}
};
docClient.get(params);
// get item by name
var params = {
TableName: "tableName",
Key:{
"name": "SomeName",
}
};
docClient.get(params);