2016-10-16 4 views
-1

Я делаю мобильное приложение Ionic 2, в котором хочу синхронизировать свои данные с облачного db на pouchdb.Синхронизация данных от облачного db до pouchdb

У моего облачного db есть тысячи и тысячи данных, и я не хочу, чтобы все это синхронизировалось с pouchdb, так как это займет много времени. Я просто хочу, чтобы последние 10 записей синхронизировались с pouchdb, и последние 10 записей должны отображаться в мобильном приложении. Возможно ли это?

Iam не в состоянии найти какое-либо хорошее решение в pouchdb. Может кто-нибудь мне помочь? Thanks

ответ

1

PouchDB включает в себя возможность выполнить filtered replication. Вы могли бы использовать фильтрованную репликацию для репликации только 10 самых последних записей (хотя вам нужно четко определить, что означает «недавнее», что создает свои собственные проблемы). Однако, предполагая, что вы выполняете однонаправленную репликацию (т. Е. От Cloudant до PouchDB), после того как документ будет реплицирован в вашу базу данных PouchDB, он останется в вашей базе данных PouchDB до тех пор, пока он не будет удален. Итак, если вы выполняете отфильтрованную репликацию, которая включает в себя 10 самых последних документов, а затем выполняет еще одну отфильтрованную репликацию, то приносит другой набор из 10 самых последних документов, теперь у вас будет 20 документов в вашей базе данных PouchDB (при условии, что есть хотя бы 10 «новых» документов, созданных между первой и второй репликацией). Если вы примете такой подход, вам нужно будет создать механизм для удаления «старых» документов.

Вам нужна эта функция для работы в автономном режиме? Если нет, то вы можете просто use PouchDB as a client library by pointing it directly to the Cloudant database, а затем использовать функцию changes feed для извлечения 10 последних измененных документов из базы данных Cloudant.