我刚刚开始使用 NoSQL(在我的情况下为 CouchDB),似乎无法回答我认为应该是一个简单的问题,即围绕创建新文档与将数据附加到现有文档的常见做法是什么。
我目前每个用户都有一个数据库(这意味着我只能让用户访问他们拥有的数据)。
所以在顶层,我的 CouchDB 看起来像:
- 用户A_db
- 用户B_db
假设我有一个简单的笔记本应用程序,每个用户可以拥有 1 个或多个笔记本,每个包含 1 个或多个笔记。
是为每个笔记本添加一个文档的想法,如下所示:
- 用户A_db
- NoteBook1_doc = {笔记:[{notebody:'foo'},{notebody:'bar'}]}
- NoteBook2_doc = {笔记:[{notebody:'baz'},{notebody:'boo'}]}
或者,无论文档是什么、它包含什么或它与什么相关,是否一切都应该是完全平坦的?
- 用户A_db
- NoteBook1_doc = { id: 1 }
- Note1_doc { id: 1, parentBook: 1, notebody: 'foo' }
- Note2_doc { id: 2, parentBook: 1, notebody: 'bar' }
- SomethingCompletelyDifferent_doc { id: 1, text: '所有的牛都吃草' }
- AccountInformation_doc { 姓名:“鲍勃”,年龄:34 }