【问题标题】:Creating views with PHP for couchDB使用 PHP 为 couchDB 创建视图
【发布时间】:2010-03-09 17:49:35
【问题描述】:

我现在已经开始尝试 noSQL 数据库,目前正在测试 couchDB。似乎是一个很好的解决方案,但是当我按照可用示例了解如何创建视图(查询)以从数据库中选择文档并对其进行排序时,我真的有些头疼。

我能找到的一切都是关于 JavaScript 的,如果能参与一些 PHP 的例子,那就太好了,因为这是我们将使用的语言。

那么,如何使用 PHP 为 couchDB 创建视图?

【问题讨论】:

  • CouchDB 不是 XML 风格的数据库吗?为什么您的项目更喜欢这种类型的数据库?只是好奇。
  • 嗨!除了 noSQL 数据库提供的一般优点和缺点之外,CouchDB 起初看起来很棒——使用比以往更少的代码轻松插入、更新和删除数据。但是,当我尝试查询内容而不是一次查询整个数据库时,我被卡住了(因为很少有 javascript 知识),并且仍然坚持试图找到一个好的解决方案。
  • CouchDB 使用 JSON 进行存储,而不是 XML。

标签: php view couchdb


【解决方案1】:

据我所知,用于关系数据库的 SQL 语言相当于 CouchDB 的 Javascript。

因此,如果您想创建一些“查询”或“视图”,则必须使用该语言:这是 CouchDb 可以理解的语言。


PHP 和 CouchDb 是完全独立的:唯一的是:

  • PHP 可以向 CouchDb 发送请求
  • 并获得结果

但是在 CouchDb 端发生的事情与您的 PHP 脚本无关——CouchDb 端没有 PHP。


使用 PHP 过滤结果的唯一方法是:

  • 从 CouchDb 请求的数据超出您的需要
  • 从 PHP 中丢弃不需要的东西

但是,显然,这不是一个有效的解决方案......

【讨论】:

  • 嗨,马丁!再次感谢您的精彩回答!您是否知道任何可以帮助以更像 mySQL 的方式编写查询的 PHP 库?也许是个坏主意,但我认为缩短学习曲线会很棒。
  • 不客气 :-) ;;;抱歉,我不知道有什么库可以做到这一点——而且我不确定这是否是解决问题的正确方法:Javascript 非常强大,并且要操作“面向对象”“数据库”,它可能是比 SQL 更好的工具,SQL 是为关系数据库制作的工具... ;;;你正在使用一个对你来说全新的工具(我猜即使是在它的基本概念上)——这很正常,有一些学习曲线;-)
【解决方案2】:

Javascript 被授予作为 CouchDB 视图服务器的特权,只是因为它与 CouchDB 捆绑在一起。 There are view server implementations for many other languages/runtimes,包括 PHP。

【讨论】:

    【解决方案3】:

    我认为您需要了解 Javascript 在 CouchDB 中的立场。 Javascript 不是 PHP、Ruby 等目标语言。Javascript 在这里更等同于 SQL。 javascript 是服务器端的,CouchDB 本身实际执行它。这就是你用来做 map/reduce 和构建视图等的东西。

    【讨论】:

      【解决方案4】:

      试试 PHPillow 人

      这里有一个非常简短的介绍:http://www.catswhocode.com/blog/getting-started-with-couchdb-tutorial-a-beginners-guide

      如果你查看 PHPillow 的 SVN,'docs' 文件夹中有更多信息

      【讨论】:

      • PHPillow 与用 PHP 编写 CouchDB 视图有什么关系吗?
      猜你喜欢
      • 2018-12-31
      • 2018-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-19
      • 1970-01-01
      相关资源
      最近更新 更多