【发布时间】:2017-11-01 19:52:02
【问题描述】:
我正在创建一种项目管理应用程序,它由这些工作中的“工作”和“实体”(或任务)组成。作为其中的一部分,我正在创建一个对每个用户都应该是唯一的待办事项列表,我想知道数据库的最佳设计是什么?
实体存在于自己的集合中,并通过 jobId 字段与作业相关。
我最初的想法是将其结构如下:
Entity
Todos[]
User1
Todo1
Todo2
...
User2
...
我也有一个用户集合,所以最好将待办事项存储在那里:
User
Todos[]
Entity
Todo1
Todo2
...
还是其他方法??我认为更新和删除待办事项会非常棘手..
更新
选项 3 - 我可以删除用户数组并将用户存储在每个待办事项对象上,例如:
Entity
Todos[]
Todo{
User: John
Text: some todo
Done: false
然后按特定用户过滤所有待办事项。我会得到一些重复的数据(用户),但我不认为这很糟糕..
此外,在更新/删除待办事项时,是否可以安全地根据文本字段匹配它,还是我需要在每个待办事项上存储一个唯一的 ID?
【问题讨论】:
-
mongodb.com/blog/post/… 可能值得一读
标签: mongodb