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