Я только начинаю с NoSQL (в моем случае CouchDB) и не могу ответить на то, что, по моему мнению, должен быть простым вопросом, о том, что общая практика заключается в создании новый документ или добавление данных к существующему.Когда создавать новый документ в NoSQL
В настоящее время у меня есть база данных для каждого пользователя (что означает, что я могу предоставить пользователям доступ ТОЛЬКО к имеющимся у них данным).
Так на самом высоком уровне, мой CouchDB выглядит следующим образом:
- UserA_db
- UserB_db
Скажем, у меня есть простое приложение для ноутбуков, где каждый пользователь может иметь 1 или больше ноутбуков, каждый из которых содержит 1 или более нот.
Есть идея, что вы добавляете один документ на ноутбуке, например, так:
- UsersA_db
- NoteBook1_doc = {Примечания: [{notebody: 'Foo'}, {notebody : 'бар'}]}
- NoteBook2_doc = {примечания: [{notebody: 'Базь}, {notebody: 'бу'}]}
ИЛИ, является все должен быть полностью разряжен, независимо от того, что документ является, что содержит или то, что он относится к ?
- UsersA_db
- NoteBook1_doc = {ID: 1}
- Note1_doc {ID: 1, parentBook: 1, notebody: 'Foo'}
- Note2_doc {ID: 2, parentBook : 1, notebody: 'бар'}
- SomethingCompletelyDifferent_doc {ID: 1, текст: 'все коровы едят траву'}
- AccountInformation_doc {имя: 'Bob', возраст: 34}
Состав объекта почти всегда сводится к вкусу, а не к суровым фактам. Если у вас больше опыта в дизайне объектов в самом приложении, может быть хорошей идеей начать там и сохранить структуру базы данных аналогичной. –