CouchDB и iOS

Мне нужна помощь с проектом CouchDB iOS.

Я использую сервер Apache CouchDB и платформу iOS с платформой Couchbase Lite.

На моем CouchDB у меня есть шаблон документа.

 - CouchDB Server
   - database
     - template
     - document 1
     - document 2
     - ...

Моя цель — синхронизировать мой iPad только с этим документом шаблона, чтобы получить последние данные, которые нужны моему приложению. Но когда я ввожу некоторые данные на своем iPad, я хочу, чтобы эти данные передавались только на сервер CouchBase.

Как я могу «сказать» своему приложению синхронизировать только один файл, а не всю базу данных с моим сервером, и, в конце концов, как я могу «сказать» своему приложению, чтобы оно выдвигало только те данные, которые вводятся со стороны пользователя?

Что еще более важно, мне нужны две базы данных на моем сервере? Один для шаблона, а второй для ввода данных пользователем? Если ДА, то мне просто нужно знать, как я могу передавать свои данные. Необходимо руководство. Спасибо.


person Miralem Cebic    schedule 17.06.2014    source источник


Ответы (1)


Вот как я решаю это:

  • Я обычно добавляю дату «последнего обновления» ко всем своим документам и храню ее в формате, который означает, что они будут отсортированы во временном порядке (эпоха или ггммддччммсс), как и то, и другое.
  • Создайте представление, которое использует время обновления в качестве даты.
  • В вашем клиенте сохраните время, прошедшее с момента последнего обновления.
  • При обновлении получите доступ к представлению с параметром startkey, установленным на дату последнего обновления.
  • Затем вы можете использовать «include-docs=true», чтобы получить документы при запросе представления.
  • Я склонен использовать «include-docs=false», хотя это означает, что когда много документов было обновлено, я передаю меньше данных в одном запросе. Затем я просто напрямую обращаюсь к каждому идентификатору документа, который возвращает представление.
person Hans    schedule 17.06.2014