CouchDB лучшая практика для обновления связанных документов

1

Я использую CouchDB и NodeJs с этими примерами документа.

Role {
  _id,
  name
}

User {
  _id,
  email,
  password,
  role: {
    _id,
    name
  }
}

Как лучше всего обновлять Роль, а также делать это внутри Пользователя, когда _id Ролей одинаковы.

Это всего лишь один пример, в приложении у нас будет несколько случаев дублирования документов в разных частях базы данных, и нам потребуется такое обновление, чтобы избежать несоответствий.

Каков наилучший способ сделать это?

Теги:
nosql
couchdb
updates

1 ответ

0

Как правило, вы будете стараться как можно больше вкладывать свои отношения.

Однако, если вам нужны отношения "один ко многим" или "многие ко многим", у вас есть два варианта.

1) Связь с _Id

Этот подход почти такой же, как и в SQL. Это требует от вас сделать несколько запросов (Примечание: вы можете создать связанный документ в виде).

Его легко обновить (вы обновляете только соответствующий документ). Хотя медленнее, чтобы получить.

2) Дублирующиеся данные

Другой подход заключается в дублировании данных везде. Если вы хотите связать роль с другим пользователем, вы дублируете эту роль в этом пользователе.

Этот подход быстрее при чтении, но намного сложнее при обновлении. Для обновления необходимо обновить роль, а также обновить каждую дублированную роль.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню