In der Tat gibt es nicht viel auf IndexedDB für die Synchronisierung der Datenbank. Sie benötigen nur den Dienst RESTful zum Replizieren von Server zu Client und umgekehrt.
Für eine effektive Synchronisierung sollte der Dienst Etag (HTTP-Spezifikation) für jeden Datensatz unterstützen, aktualisiert (ATOM-Spezifikation) für Sammlungen. Zusätzlich zur Unterstützung der fortsetzbaren Aktualisierung sind totalResults, startIndex, itemsPerPage (OpenSearch spec) und die Aktualisierung der Bestellung erforderlich.
Beim Abrufen eines Datensatzes 'If-None-Match' Header von Etag angegeben, um den vollen Caching-Vorteil zu erhalten, Wenn PUTTING ein Datensatz 'If-Match' Header angegeben ist Konflikt auf Client-Seite zu lösen. Um die Sammlung zu aktualisieren, wird die Abfrage durch den aktualisierten Parameter eingeschränkt, sodass nur Datensätze zurückgegeben werden, die nicht in der Client-Datenbank enthalten sind.
Das ist, wie ich auf meinem Open Source IndexedDB API-Wrapper implementieren implementieren. Siehe Beispiel-App https://github.com/yathit/feature-matrix in angularjs und demo.
Siehe auch PouchDB.
werfen Sie einen Blick auf diese ähnliche Frage: http://StackOverflow.com/Questions/12914646/Standard-way-of-keeping-offline-db-and-online-db-synced –