2017-03-16 12 views
1

현재 전자에서 작성중인 오프라인 준비가 된 응용 프로그램이 있습니다.PouchDB의 데이터 제한

핵심 요구 사항은 모든 데이터가 제한되어 있으며 (읽기 또는 쓰기 사용자 여야 함) 해당 데이터 내에서 일부 데이터가 사용자 (계정 정보, 메시지 등)로 제한된다는 것입니다.

그래서 기본적으로 난 단지 데이터를 동기화 할 사용자가 하지 (모든 데이터에 관계없이 제한의 DevTools로를 사용하여 볼 수 있기 때문입니다)에 액세스 할 수 있어야 데이터를 오프라인으로 복제 할 수 없습니다

지금은 않습니다 해당 사용자가 PouchDB의 오프라인 스토어에 액세스 할 수 있고 모든 사용자가 액세스 할 수있는 모든 데이터가있는 경우

이제 다음 게시물/가이드를 읽었지만 조금 혼란 스럽습니다. 그것이 내가 원하는 것을 할 수있다하더라도 나의 이해 필터링에서

  • Restricting Access to local PouchDB
  • https://www.joshmorony.com/creating-a-multiple-user-app-with-pouchdb-couchdb/
  • https://pouchdb.com/2015/04/05/filtered-replication.html
    • 은 나쁜 선택 성능 현명하다.

      프록시 설정은 작동하지만 본질적으로 REST API가되어 데이터 동기화가 분산됩니다.

      마지막 옵션은 개인 정보가 들어있는 모든 사용자와 모든 사용자가 사용할 수있는 정보를 보유 할 수있는 데이터베이스를 추가하는 것입니다.

      나는이 접근 방식이 유일한 문제는 어떻게 데이터가 개인입니다 처리하지만, 두 사용자간에 공유된다 (등 메시지 ...)

      내가 어떻게 데이터의 지배적 인 견해 후 더 생각해야 코드 예제와는 반대로 저장되므로 응용 프로그램의 개념적 아키텍처와 정말 고심하고 있습니다.

    답변

    0

    문제에는 여러 가지 해결책이 있습니다. IBM Cloudant는 간단한 REST API 대신 CouchDB 인터페이스를 시뮬레이트하는 프록시 인 Cloudant Envoy에서 작업하기 시작했습니다. Envoy over at ibm.com 사이트에서 자세한 내용을 볼 수 있습니다. A custom replicator for PouchDB은 Github에서도 사용할 수 있습니다.

    여기에도 blog post on Medium.com이 있습니다.

    아이디어는 훨씬 오래 된 Couchbase Sync Gateway과 같습니다. Couchbase는 CouchDB와 일반적인 뿌리를 가지고 있지만 CouchDB를 이용한 복제를 여전히 지원하는지 추적하지 못했습니다.

    가장 쉬운 방법은 서버에서 사용자 당 단일 데이터베이스를 만들고 공용 데이터를 가져 오는 공통 데이터베이스를 만드는 것입니다. 이 솔루션에 대한 자세한 정보가 필요하면 알려주십시오.

    +0

    이 시나리오에서는 두 명의 사용자 (즉, 메시지)에게 개인 데이터를 처리하는 데 사용하는 정보가이 별도의 데이터베이스가 될까요? –

    +0

    메시지가 앱의 주요 부분이 아닌 경우 발신 메시지를 수신 메시지로 수신자에게 복사하는 서버 측 스크립트를 설정할 수 있습니다. 앱의 기본 목적이 메시징 시스템 인 경우 대체 설정을 고려해야합니다. –