Основным преимуществом pouchdb является наличие локальных баз данных, которые имеют API-интерфейсы, такие как couchdb, но присутствуют даже в автономном режиме, et c. Итак, если вы использовали pouchdb и хотите работать в автономном режиме, вам почти наверняка понадобятся базы данных для каждого пользователя на couchdb и синхронизация pouchdb <-> couchdb , et c. Но вы не можете использовать pouchdb без JS, и в зависимости от этого в веб-просмотре et c в значительной степени подорвет преимущества компиляции в собственный код вместо приложения на основе веб-просмотра.
Использование HTTP API напрямую и сохраняя локальный документ, вероятно, проще начать с того, что каждый пользователь будет хранить несколько простых вещей в виде дополнительных JSON в своем собственном пользовательском документе в _users. Вы всегда можете добавить базы данных для каждого пользователя позже. База данных _users является немного особенной в том смысле, что она дает каждому пользователю доступ для чтения к их собственному документу без необходимости предоставлять им доступ к другим пользовательским документам и полагается на документ проекта проверки для защиты важных полей, в то же время позволяя им редактировать свои данные.
В таком сценарии клиент хранит копию документа, принадлежащего пользователю, локально, который ему необходимо синхронизировать c обратно с сервером, когда он имеет сеть. Конечно, существуют возможности конфликта для пользователя с несколькими устройствами, и они могут быть разрешены либо самим клиентом, сравнивая локальную и серверную версии, либо с помощью обновленной проектной документации на сервере.
Начиная с каждого пользователя имея свои личные данные в своих собственных _users do c, можно по-прежнему создавать базы данных для групп пользователей, где все пользователи в группе имеют общий доступ для чтения ко всем документам, но могут обновлять только те, которые они создали. БД для каждого пользователя на самом деле является лишь частным случаем такой базы данных, в которой группа сокращена до одного члена.