使用CouchDB和Node.js库

CouchDB使用javascript来validation,查询,做map-reduce等等。 我想知道有没有什么办法可以在这些JavaScript函数中使用node.js库? 比如使用require('http')或者用npm安装的一些第三方模块。

谢谢。

只要不需要像http一样的特定于Node.js的库,就可以使用Node.js库。 例如, asynchronous在CouchDB中工作。 经验法则:如果它的目的是为服务器客户端,你应该是好的。

您可以使用CommonJS的module.exportsexports[something]模式在视图之间共享代码。 查看文档以获取更多详细信息。

例如,考虑这个观点:

 { _id:"_design/test", views: { lib: { test: "exports.guests = 42;" }, fish_per_person: { map: function(doc){ var guests = require('views/lib/test').guests; // 42 emit(doc.number_of_fish, doc.number_of_fish / guests); } } } } 

fish_per_person视图需要在lib/test导出的值。

不,没有办法从CouchDb内部的Node模块使用外部JavaScript。 你可以做一些有限的分享: http : //wiki.apache.org/couchdb/HTTP_view_API#Sharing_Code_Between_Views

Node是一个暴露于Javascript语言绑定的平台,所以Node的“优点”在执行环境中。

虽然有一种使用Python编写视图的方法,但我并不知道Node的任何相似之处。