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