我正在创建一种项目管理应用程序,其中包含这些作业中的“作业”和“实体”(或任务)。作为它的一部分,我正在创建一个待办事项列表,对每个用户都应该是唯一的,我想知道数据库最好的设计是什么?Mongodb设计建议 - 待办事项列表
实体存在于其自己的集合中,并且通过jobId字段与作业相关。
我最初的想法是构建它喜欢:
Entity
Todos[]
User1
Todo1
Todo2
...
User2
...
我也有一个用户集合,以便将它更好地在其中存储的待办事项,如:
User
Todos[]
Entity
Todo1
Todo2
...
或其他方法?我认为,更新和删除待办事项将是相当棘手..
更新
选择3 - 我可以删除用户阵列和用户存储每个待办事项对象,比如:
Entity
Todos[]
Todo{
User: John
Text: some todo
Done: false
然后由特定用户过滤所有待办事项。我会得到一些重复的数据(用户),但我不认为这是如此糟糕..
此外,当更新/删除待办事项可以安全地匹配它基于文本字段或我需要存储一个每个待办事项的唯一ID?
https://www.mongodb.com/blog/post/6-rules-of-thumb-for-mongodb-schema-design-part-1很值得一读 –