CouchDB - 跨 View 、跨设计文档、跨数据库共享功能

标签 couchdb extensibility spidermonkey

好的,事情就是这样。

我有良好的 JS 背景,过去也有过 JS 经验,并且有很多很酷的基本工具,我从一个项目到另一个项目都随身携带这些工具,就像一个库。

我正在尝试使用 CouchDB 制定工作。 现在,在习惯了您编写的豪华酷工具并为您简化了语言之后 - 我发现以简单的方式编写许多东西有点令人沮丧。

我正在寻找一种方法,可以将一组有限的、高效的通用工具加载到数据库上下文中,这些工具专注于纯语言,并使该语言的工作更加出色(天哪,不,我不谈论 jquery 或任何更丰富的库)。

如果最重要的是,可以找到一种方法,我可以将一些我自己的逻辑工具(BL 模型函数)添加到 couchDB JS 引擎的执行上下文中 - 这将呈现出强大而令人钦佩的力量,并使couchDB 是像我这样的 JavaScript 爱好者的新家。

也许我的目标太低了。 我对即使为特定数据库也可以分配一组扩展的方式感到满意,并且我不介意为每个数据库单独执行此操作。或者更糟糕 - 将其添加到每个设计文档中,这样我就可以在同一个设计文档中教授例如多个 View 什么是 Person 是什么,什么是 Worker 以及使用它们的方法根据逻辑以可重用的编码方式从它们检索数据。

谁能给我指路吗?

无论您以何种方式指出我 - 我都会非常非常感激不尽。 如果有办法解决所有这些问题——那就太好了。 相信我知道什么逻辑属于哪一层的区别...

你开启了我的可能性 - 我保证使用它们:D

最佳答案

CouchDB 现在支持作为 CommonJS 模块的代码共享。

http://docs.couchbase.org/couchdb-release-1.1/index.html#couchdb-release-1.1-commonjs

http://caolanmcmahon.com/posts/commonjs_modules_in_couchdb

通过这种方式,您可以在同一设计文档中的 View 、列表和显示之间共享 javascript 模块。 (服务器端)

此外,您可以使用此库在浏览器端加载这些模块: https://github.com/couchapp/couchapp/blob/master/couchapp/templates/vendor/couchapp/_attachments/jquery.couch.app.js

您可能还想看看 Kanso:

http://kansojs.org/

它确实很好地使您的 JavaScript 在服务器和客户端之间无缝工作。

关于CouchDB - 跨 View 、跨设计文档、跨数据库共享功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8300546/

相关文章:

java - 在 couchdb 中执行 where 条件

couchdb - 有没有办法在两个 pouchdb 实例之间同步?

linux - Elixir:在 Ubuntu 上安装 Elixir 会终止正在运行的 Couch DB 实例

c# - 扩展 Visual Studio

php - Magento 1 - 如果 Controller 被重写,为什么 Controller Action 预发送事件不会触发?

c++ - 基类与模板与生成的代码与宏的代码

python - 使用 python 与在线表单交互并与与 "type=button"输入关联的 javascript 交互

javascript - 如何使用pyqt评估javascript

nosql - CouchDB 每天能处理 1500 万条记录吗?