Die Replikation basiert auf der Reihenfolge der synchronisierten Datenbanken. Sie überschreiben also nur Daten, wenn sich ihre _id
Werte gegenseitig überlagern. Ich vermute jedoch, dass das nächste Problem, mit dem Sie sich auseinandersetzen müssen, darin besteht, die Benutzerdaten getrennt zu halten.
Wenn Sie alle Benutzer in einer einzigen Datenbank replizieren, erhalten alle Benutzer auch die Daten aller anderen Benutzer, wenn sie sich aus dieser einzelnen Datenbank replizieren. Ich bin mir nicht sicher, was Ihr Anwendungsfall ist, aber das ist im Allgemeinen nicht so, wie Apps strukturiert sind. Wenn Sie eine einzelne Datenbank wie diese verwenden möchten, müssen Sie eine Art Tagging in Ihre Dokumente einfügen und Filtered Replication verwenden.
Um Ihre Daten nach Benutzern zu segmentieren, müssen Sie diesen Parameter bei jeder Synchronisierung sorgfältig verwenden. Ihre Datenbank wird jedoch wahrscheinlich dem öffentlichen Internet zugänglich gemacht, wenn Sie sie synchronisieren, und das Fehlen von Steuerelementen auf Dokumentebene bedeutet, dass Ihre schlauen Benutzer in der Lage sind, die Daten aller anderen zu sehen.
Meine Empfehlung hier ist, jedem Benutzer seine eigene Datenbank zu geben, anstatt alles in eine einzige Hub-Datenbank zu replizieren. Mit CouchDB 2.x haben Sie Zugriff auf couch_peruser, die jedem registrierten Benutzer automatisch eine eigene Datenbank gibt. (Dies erfordert die Registrierung Ihrer Benutzer bei CouchDB, aber ehrlich gesagt ist es das beste für die Sicherheit in einem öffentlich zugänglichen Server sowieso)
Das ist es. Danke :) – elkebirmed