【问题标题】:Using PouchDB with MongoDB将 PouchDB 与 MongoDB 一起使用
【发布时间】:2014-08-14 14:35:03
【问题描述】:

我从未使用过 CouchDB。我想在我的客户端应用程序上使用 PouchDB,但我不确定它是否可以与 MongoDB 集成,因为 Pouch 旨在与 CouchDB 一起使用。虽然我的 API 是用 PHP 编写的,但我没有像在 CouchDB 中那样使用任何类型的 REST API 来连接数据库。

是否有可以与 MongoDB 一起使用的 PouchDB 等价物?还是我无处可去?

【问题讨论】:

    标签: mongodb couchdb pouchdb


    【解决方案1】:

    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 的查询语言。

    【讨论】:

    • 有趣。很高兴从源头上了解事情。 :)
    • 我不确定我是否理解为什么可以支持 Redis 和 Riak 但不支持 MongoDB。如果有的话,对于像 pouchdb-server 这样的类似 CouchDB 的服务器,MongoDB 听起来要在后台实现的工作要少得多。
    • Redis 和 Riak 是“支持”的,因为 PouchDB 可以将它们用作存储引擎。不过,这只是出于学术原因才真正有趣。您不想在生产中实际使用它,因为 PouchDB 基本上将它们用作愚蠢的键值存储,并且您实际上不能直接使用这些数据库 - 相反,您需要使用 PouchDB 对它们的抽象。上面的链接解释了这些概念。
    • 哇,更新似乎很有趣,因为 Azure Cosmos 也可以使用 Mongo API 来访问它...#goodtimes
    【解决方案2】:

    我看到了minimongo 项目。 我还没试过。据我了解,minimongo that is used in the meteor project 是一样的。项目描述说它通过 http 进行服务器同步。但它没有持久性,索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多