Наилучший подход для хранения нескольких пользовательских данных для каждого пользователя на базу данных. Я использую этот же подход.Как управлять синхронизацией pouchdb и couchdb?
У меня есть couchdb на сервере и pouchdb для мобильного приложения. Я поддерживаю данные каждого пользователя, создавая отдельную базу данных для пользователя в pouchdb и couchdb. Это означает, что у меня есть несколько баз данных в couchdb и одна база данных в pouchdb.
Обычно в базе данных базы данных sqlbase данные хранятся в разных таблицах.
так что в nosql pouchdb я создаю документ для каждой таблицы.
Актуальная проблема я облицовка:
У меня есть один документ, в каждой базе данных, которая хранит транзакцию пользователя.
Клиентская транзакция хранится в pouchdb, когда он находится в автономном режиме, и когда приложение получает синхронизацию транзакции в реальном времени с пользовательской базой данных couchdb в документе транзакции.
данные хранятся в документе операции выглядит следующим образом
{
"_id":"transaction ",
"_rev":"1-3e5e140d50bf6a4d873f0c0f3e3deb8c",
"data":[
{
"transaction_id":"tran_1",
"transaction_name":"approve item",
"status":"Pending",
"ResultMsg":""
},
{
"transaction_id":"tran_2",
"transaction_name":"approve item",
"status":"Pending",
"ResultMsg":""
}]
}
Все эти транзакции выполняются на стороне сервера и результат обновляется в этих document.when когда любая новая транзакция выполняется я хранить его в документе транзакции в данных атрибут.
Теперь у меня есть 1 транзакция в сумке и couchdb, оба средства находятся в синхронизации.
Теперь, когда мобильное приложение находится в автономном режиме, он выполняет автономную транзакцию, которая хранится в документе pouchdb transaction doc.
и на стороне сервера, что 1 транзакция обновлена для успеха.
Теперь, когда приложение переходит в режим on-line и sync, я теряю свои изменения на стороне сервера, и, наконец, данные в транзакционном doc являются клиентскими pouchdb.
здесь я теряю данные на стороне сервера. так что это хороший подход или как я могу его решить.
Я также знаю об этом подходе, и это лучше всего, но у меня есть много документов в пользовательской базе данных, таких как транзакция.поэтому я должен использовать отдельный документ для каждой записи? и как управлять несколькими табличными данными? Можете ли вы объяснить мне, что я запутался в этом. –
У вас может быть отдельный документ для каждой комбинации сеансового устройства - и каждый doc содержит несколько записей транзакций, которые впоследствии уменьшены на карте, чтобы получить окончательное состояние транзакции. Такой подход: a) генерирует меньше документов (количество документов в DB влияет на производительность Pouch); б) генерирует меньше трафика; c) не создает конфликтов. – ermouth