这是我正在玩的示例应用的一般问题。我在客户端使用Mongodb for persistence和Vanilla javascript。
我基本上是从用户输入创建一个对象,然后只在一次调用中将对象发送到服务器,在我的对象中有关系,所以我必须生成Guid作为ID并在此基础上管理引用。
{
"school": {
"courses": [
{"id": 1,"name": "course1"},
{"id": 2,"name": "course2"},
{"id": 2,"name": "course3"}
],
"students": [
{"id": 1,"name": "student1"},
{"id": 2,"name": "student2"},
{"id": 3,"name": "student3"}
],
"groups": [
{"id": 1,"students": [1, 3],"course": 1},
{"id": 2,"students": [2, 3],"course": 2}
]
}
}
这是简化的对象,也使用了Id而不是Guid的内联。
用户将首先添加一些课程,然后添加一些学生,然后在下一个屏幕上,他们将显示填充课程和学生之前添加的课程。
用户将创建群组,选择学生(多选)和课程。在这里,我将使用为课程和学生生成的Ids作为参考。
现在,此时一切正常,我创建对象并将数据发送回服务器以保存在Mongodb中。
当用户删除某个课程或学生时会出现问题,而我仍然在某个组中有该学生或课程的参考,那么我该如何自动更新该组。我知道我可以使用循环或类似的东西,但这似乎并不合适。在原始数据中,我的关系非常复杂,因此这种方法确实不合理。