2016-11-11 66 views
1

我试图建立它由以下的拓扑:有两种方法可以在两个pouchdb实例之间同步吗?

  • 两个桌面连接在局域网上运行的本地应用。

  • 同一个应用程序的网页版本。

的台式机将只具有与因特网的连接间歇性,所以无论是本地应用程序和Web应用程序需要有哪个同步在线时单独的数据存储。

为此,我发现couchdb似乎是一个完美的候选人。我在Electron上构建桌面应用程序,所以我在考虑使用pouchdb,并在线时将它与服务器服务器上的couchdb同步。

但问题是,这两个桌面运行与pouchdb电子应用程序将需要通过LAN彼此同步。 pouchdb是否提供了与远程pouchdb同步的功能?我只看到同步袋和沙发的文档。

https://pouchdb.com/guides/databases.html

我真的很新的数据库之间进行同步的概念。不知道,如果我问一些明显的(或者显然不可能的)。感谢帮助。

+0

知道最好的方法是测试它:)但我认为你无法远程同步IndexedDB(使用PouchDB创建本地数据库)。一种解决方案是在每个应用程序中安装一个CouchDB。 –

+0

也许这很有趣:https://pouchdb.com/adapters.html#pouchdb_over_http请确保检查关于PouchDB服务器的部分 – Phonolog

+0

@Phonolog是不是像这样的couchdb本身的替代品?你说我可以在Electron应用程序中运行一个pouchdb服务器?并从我的应用程序拨打电话到pouchdb服务器?在发布这个问题之前,我确实检查过这个页面,但没有看到它,因为它看起来像应用服务器端的沙发协议的实现,并与网络上客户端的嵌入式pouchdb同步。我没有真正发现将pouchdb服务器嵌入到电子应用程序中的任何信息。 – alokraop

回答

4

如果要同步于任意的数据通道P2P,你可能想看看这个插件:https://github.com/nolanlawson/pouchdb-replication-stream

在你的情况,不过,因为你正在写一本机应用程序,死最简单的方法这是否使用express-pouchdb在两个桌面应用程序之间进行同步。下面是一个视频,显示如何完成这项工作:https://www.youtube.com/watch?v=5iTzm8sTtd4

任意两个PouchDB对象可以相互同步;所以只要你有工作PouchDB对象,你可以将它们与db1.sync(db2)同步。

+0

哦,这看起来正是我想要的。将检查出来。非常感谢:-D – alokraop

相关问题