我刚刚开始接触NoSQL(在我的情况下是CouchDB),似乎无法回答我认为应该是一个简单问题的问题,即创建新文档与将数据附加到现有文档之间的常见做法。
我目前每个用户都有一个数据库(这意味着我只能向用户提供他们拥有的数据访问权限)。
因此,在顶层上,我的CouchDB看起来像:
- UserA_db
- UserB_db
如果我有一个简单的笔记本应用程序,每个用户可以拥有1个或多个笔记本,每个笔记本包含1个或多个注释。
想法是您每个笔记本添加一个文档,如下所示:
- UsersA_db
- NoteBook1_doc = { notes: [ { notebody: 'foo' }, { notebody: 'bar'} ] }
- NoteBook2_doc = { notes: [ { notebody: 'baz' }, { notebody: 'boo'} ] }
还是说所有内容都是完全扁平的,而不考虑文档是什么、包含什么或与什么相关?
- UsersA_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: 'all cows eat grass' }
- AccountInformation_doc { name: 'Bob', age: 34 }