Couchdb 有没有办法在两个数据库实例之间同步?

Couchdb 有没有办法在两个数据库实例之间同步?,couchdb,pouchdb,nosql,Couchdb,Pouchdb,Nosql,我正在尝试构建一个包含以下内容的拓扑: 两台台式机通过LAN连接,运行本机应用程序 同一应用程序的web版本 台式机只能间歇性地连接到Internet,因此本机应用程序和web应用程序都需要有单独的数据存储,这些数据存储在联机时同步 为此,我找到了couchdb,它似乎是完美的候选者。我正在Electron上构建桌面应用程序,因此我考虑使用PockDB,并在联机时将其与服务器上的couchdb同步 但问题是,这两台运行带有PockDB的Electron应用程序的台式机需要通过LAN相互同步。

我正在尝试构建一个包含以下内容的拓扑:

  • 两台台式机通过LAN连接,运行本机应用程序

  • 同一应用程序的web版本

台式机只能间歇性地连接到Internet,因此本机应用程序和web应用程序都需要有单独的数据存储,这些数据存储在联机时同步

为此,我找到了couchdb,它似乎是完美的候选者。我正在Electron上构建桌面应用程序,因此我考虑使用PockDB,并在联机时将其与服务器上的couchdb同步

但问题是,这两台运行带有PockDB的Electron应用程序的台式机需要通过LAN相互同步。PockDB是否提供与远程PockDB同步的功能?我只看到同步邮袋和沙发的文档


我对数据库间同步的概念非常陌生。不知道我问的是什么明显的(或明显不可能的)。谢谢你的帮助

如果您想通过任意数据通道同步p2p,您可能需要查看以下插件:

不过,在您的情况下,因为您正在编写一个本机应用程序,所以最简单的方法是使用express PockDB在两个桌面应用程序之间进行同步。以下是一段视频,展示了如何做到这一点:


任何两个
db
对象都可以相互同步;所以,只要您有工作的
pockdb
对象,就可以将它们与
db1.sync(db2)

同步,最好的方法是测试:)但我认为您不能远程同步IndexedDB(用pockdb创建的本地数据库)。一个解决方案是在每个应用程序中安装一个CouchDB。也许这对您来说很有趣:确保查看关于pockdb的部分Server@Phonolog这不是couchdb本身的替代品吗?你是说我可以在Electron应用程序中运行一个数据库服务器?并从我的应用程序向数据库服务器拨打电话?在发布问题之前,我确实检查了这个页面,但没有查看它,因为它看起来像是一个沙发协议的实现,它应该位于服务器端,并通过网络与位于客户端的嵌入式数据库同步。我真的没有找到任何信息来将PockDB服务器嵌入到电子应用程序中。@Alexis问题是我甚至不知道如何尝试从另一个PockDB访问PockDB实例。Couchdb将自身公开为HTTP资源,因此直接将PockDB与之连接。关于将couchdb直接打包到我的应用程序中,是的,这是一个答案,但我还没有找到一种方法将其打包(甚至与电子应用程序交互)。关于如何让这两个人直接交谈的更多细节将是非常有帮助的。@alokraop你所尝试的似乎是对等的。这可能会有帮助:哦,这看起来正是我想要的。我去看看。非常感谢