Я использую CouchDB и NodeJs с этими примерами документа.
Role {
_id,
name
}
User {
_id,
email,
password,
role: {
_id,
name
}
}
Как лучше всего обновлять Роль, а также делать это внутри Пользователя, когда _id Ролей одинаковы.
Это всего лишь один пример, в приложении у нас будет несколько случаев дублирования документов в разных частях базы данных, и нам потребуется такое обновление, чтобы избежать несоответствий.
Каков наилучший способ сделать это?
Как правило, вы будете стараться как можно больше вкладывать свои отношения.
Однако, если вам нужны отношения "один ко многим" или "многие ко многим", у вас есть два варианта.
Этот подход почти такой же, как и в SQL. Это требует от вас сделать несколько запросов (Примечание: вы можете создать связанный документ в виде).
Его легко обновить (вы обновляете только соответствующий документ). Хотя медленнее, чтобы получить.
Другой подход заключается в дублировании данных везде. Если вы хотите связать роль с другим пользователем, вы дублируете эту роль в этом пользователе.
Этот подход быстрее при чтении, но намного сложнее при обновлении. Для обновления необходимо обновить роль, а также обновить каждую дублированную роль.