【发布时间】:2014-08-14 14:35:03
【问题描述】:
我从未使用过 CouchDB。我想在我的客户端应用程序上使用 PouchDB,但我不确定它是否可以与 MongoDB 集成,因为 Pouch 旨在与 CouchDB 一起使用。虽然我的 API 是用 PHP 编写的,但我没有像在 CouchDB 中那样使用任何类型的 REST API 来连接数据库。
是否有可以与 MongoDB 一起使用的 PouchDB 等价物?还是我无处可去?
【问题讨论】:
我从未使用过 CouchDB。我想在我的客户端应用程序上使用 PouchDB,但我不确定它是否可以与 MongoDB 集成,因为 Pouch 旨在与 CouchDB 一起使用。虽然我的 API 是用 PHP 编写的,但我没有像在 CouchDB 中那样使用任何类型的 REST API 来连接数据库。
是否有可以与 MongoDB 一起使用的 PouchDB 等价物?还是我无处可去?
【问题讨论】:
PouchDB 贡献者在这里。 :) 这实际上是我们经常遇到的一个问题,考虑到 MongoDB 的流行,这是可以理解的。
简短的回答是:不,没有办法获得可以插入现有 MongoDB 数据库的 PouchDB。您可能想改用Meteor.js。
长答案是 CouchDB 和 MongoDB 并不等同,特别是 CouchDB 是自下而上设计用于同步的。 a good write-up by Jan Lenhardt 解释了它是如何工作的。 PouchDB/CouchDB 同步的部分魔力来自这种设计,而 Mongo 没有。
事实上,即使 PouchDB 使用 Mongo 作为后端(这不在可能的范围内;we already support Redis and Riak),您也无法按原样使用现有数据库,因为 PouchDB 需要重新构建这个在 Mongo 上的修订处理模式。因此,您必须重写您的应用程序才能使用 PouchDB/CouchDB API。
更新:PouchDB 将很快通过pouchdb-find plugin 支持类似 Mongo 的查询语言。
【讨论】:
我看到了minimongo 项目。 我还没试过。据我了解,minimongo that is used in the meteor project 是一样的。项目描述说它通过 http 进行服务器同步。但它没有持久性,索引。
【讨论】: