У меня есть приложение PouchDB, которое управляет пользователями.
У пользователей есть локальный экземпляр PouchDB, который реплицируется с одной базой данных CouchDB. Довольно просто.
Здесь все становится немного сложнее. Я внедряю понятие "группы" в свой дизайн. Группы будут разными базами данных CouchDB, но локально они должны быть частью базы данных пользователей.
Я немного читал о "необычной репликации" на сайте pouchDB, и, похоже, это то решение, которое мне нужно.
Теперь мой вопрос: как мне это сделать? В частности, Как мне выполнить репликацию из нескольких удаленных баз данных в одну локальную? Некоторые примеры кода будут супер.
Из приведенной ниже схемы вы заметите, что мне нужно по существу динамически добавлять базы данных в зависимости от групп, в которых находится пользователь. Также будет полезна критика моего дизайна.
Если поток будет примерно таким:
- Получить все пользовательские документы из его/ее БД в
localUserDB
var groupDB = new PouchDB('remote-group-url');
groupDB.replicate.to(localUserDB);
(есть проблемы с производительностью в нескольких экземплярах pouchdb 0_0?)- Локально, когда пользователь вносит изменения, относящиеся к определенной группе, мы определяем соответствующую базу данных и выполняем репликацию, выполняя что-то вроде:
localUserDB.replicate.to(groupDB)
(Нужна ли фильтрованная репликация?)