【问题标题】:Is CouchDB an example of Server Side Javascript?CouchDB 是服务器端 Javascript 的一个例子吗?
【发布时间】:2010-08-19 20:16:22
【问题描述】:

我正在研究使用 Javascript 服务器端并查看了 persevere/pintura,但对于像我这样的新手,我需要更多文档和教程,而 CouchDB 似乎有很多,但它被用作服务器端 js 工具?

亲切的问候

【问题讨论】:

  • 考虑重新考虑哪个答案是正确的。
  • 谢谢,已妥当注意和整理!!
  • 很高兴看到我认为最好的答案:)

标签: javascript couchdb


【解决方案1】:

是的(附议@Pointy 上面所说的)。 CouchDB 中的 JavaScript 确实在服务器端运行。 :)

不过,除此之外,CouchDB 中的 JavaScript 可以做的远不止 map/reduce 查询。它还用于文档验证、更新处理(例如,用于处理 POST 到 CouchDB 的 XML),以及来自单个 JSON 文档(使用 _show)或 map/reduce 查询结果(使用_list)。

但是,CouchDB 不像 Node.js 那样提供文件系统访问或 TCP/IP 侦听器。目前,JavaScript 专注于数据库内容的“传送和处理”(例如验证、格式化和查询)。

如果您有兴趣研究处理 CouchDB “内部”不做的事情(图像处理、发送电子邮件等)的选项,您可以查看我关于 CouchApp architecture options 的回复。

CouchApp 绝对是 Web 应用程序的可行选择。将这些与复制相结合,很难被击败。

【讨论】:

  • 感谢您的回答和您的帖子“CouchApp 架构选项”。也很有帮助
【解决方案2】:

http://nodejs.org/ 是服务器端 javascript 的一个很好的例子。如果您不想在 NodeJS 上编写完整的 web 应用程序,可以通过 node 命令触发它。

【讨论】:

  • 我不介意编写我的整个网络应用 Nodejs。几个月前我做了聊天教程,但我不知道它是如何工作的,我目前正在研究。
【解决方案3】:

CouchDB 是一个具有有趣功能的数据库,它允许您通过 RestFull api 进行交互,使其非常适合在 javascript 或其他客户端环境中通过 Web 访问。如果您正在寻找服务器端 javascript 开发环境,请尝试Servoy。它允许使用 javascript 开发全功能的服务器端应用程序,包括轻松访问所有主要数据库的数据库。

【讨论】:

    【解决方案4】:

    简短回答:是的。

    更长的答案:

    CouchDB 附带了一个 Javascript 引擎,即SpiderMonkey (第一个引擎,开源,由 javascript 的创建者 Brendan Eich 编写)

    CouchDB 的 View 函数是运行服务器端的 JavaScript 函数,它充当 map/reduce 操作的 Map 部分来构造视图。

    然后是客户端javascript API,可以用来与REST层通信以获取/更新文档,这也是CouchDB使用jQuery的地方。

    更多关于 CouchDB 的服务器端和客户端 JavaScript 功能:

    默认引擎能够执行许多功能,而与 Node.js 相比,包的可用性受到限制。 Kan.so 可以被认为是“CouchDB 的 NPM,其中一些包是服务器端的。 例如,有像 duality 这样的框架尝试利用服务器端和客户端 JavaScript 功能来重用代码以使用 couchDB 进行渲染。

    关于引擎的更多信息:

    (选择spider Monkey优于v8是因为对于couchDB的用例,map reduce不是为v8设计的。还包括打包、多线程以及在选择spiderMoney时v8不存在的历史原因)见[邮件列表]和tweet2

    甚至还有将整个 CouchDB 移植到 Node.js(即代替 Erlang)的项目,Chesterfield

    如果有人可以添加 Erlang 如何与 javscript 引擎对话,我很高兴。 感谢大家的回答,对于像我这样用一些 Node.js 包搞乱 couchDB 的人来说,这是一件很重要的事情

    【讨论】:

      【解决方案5】:

      不,CouchDB 是一个面向文档的数据库,可以使用 JavaScript 以 MapReduce 方式查询和索引。 CouchDB 还提供具有双向冲突检测和解决方案的增量复制。

      http://couchdb.apache.org/

      CommonJS 可用于服务器端 JavaScript,请参见此处:http://www.commonjs.org/

      NodeJS 是另一个:http://nodejs.org/

      【讨论】:

      • 谢谢,我已经学习了 javascript、ruby、html、css 并且没有打扰后端。您能否列出从客户端到服务器端使用 javascript 所需的工具?我假设数据库和服务器端覆盖了相同的区域,只是有一点重叠,但我猜不是。我目前正在检查你玩我的链接。谢谢
      • JS 也用于验证和创建不同格式的列表和视图。使用 Couchapp,您可以编写托管在 CouchDB 上的完整 Web 应用程序,并使用 JS 编写并在服务器上运行的移动部分。
      • 这看起来真的很酷很简单。唯一令人担忧的是他们描述中的“约束”一词。我将通读文档以进行检查。 “CouchApps 是直接从 CouchDB 提供的 JavaScript 和 HTML5 应用程序。如果您可以让您的应用程序适应这些限制条件,那么您就可以“免费”获得 CouchDB 的可扩展性和灵活性”
      • @SQLMenace "No" 并不是真正的正确答案,因为 CouchDB(通过与 SpiderMonkey 集成)实际上 确实 允许在服务器中运行 Javascript 来处理地图之类的事情/减少,正如你所说。它在服务器上,并且正在运行 Javascript,那么这不是“服务器端 Javascript”吗?通常,该术语的意思是“不在每个人仍然期望它存在的网络浏览器中。”
      • 您混淆了不同的概念。 CommonJS 是一个库标准。它本身没有用。 CouchDB 实现了 CommonJS。 Proof link所以你在自相矛盾。
      猜你喜欢
      • 1970-01-01
      • 2017-06-17
      • 2018-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-24
      • 2011-07-27
      • 1970-01-01
      相关资源
      最近更新 更多