Понимание вызовов NoSQL CRUD - PullRequest
1 голос
/ 05 июля 2019

В NoSQL (в моем случае Firestore) дублирование данных - это нормальное явление, верно? Например, вы должны хранить данные пользователя в нескольких местах (где бы вы ни нуждались).

Мой вопрос: как вы управляете вызовами CRUD для этих дублированных элементов? Если вы обновляете документ, должен ли ваш код точно знать, где дублируется документ, и хорошо ли обновлять каждую из этих копий? Та же идея с PUT, POST и DELETE.

1 Ответ

2 голосов
/ 05 июля 2019

На этот вопрос нет однозначного ответа, но я, как правило, действительно жёстко кодирую логику того, где записаны разорванные / денормализованные / дублированные данные.Пока у вас есть единственная точка определения для данных (так что вы знаете , какой документ является истиной для каждого объекта), это обычно не имеет большого значения.Вы просто ищете места для дублирования, а затем обновляете их все.

Общее описание обработки обновлений для дублированных / денормализованных данных см. В моем ответе здесь: Как записать денормализованные данные в Firebase .Он был написан для базы данных Firebase Realtime, но те же базовые подходы могут быть применены и к Cloud Firestore.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...