将CouchDB与Node.js库一起使用



CouchDB使用javascript进行验证、查询、做map reduce等操作。我想知道在这些javascript函数中有没有方法使用node.js库?例如使用CCD_ 2或与CCD_ 3一起安装的一些第三方模块。

谢谢。

您可以使用Node.js库,只要它们不需要像http这样的Node.js特定库。例如,async在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中导出值guests

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

Node是一个暴露于Javascript语言绑定的平台,因此Node的"优点"在于执行环境。

虽然有一种使用Python编写视图的方法,但我不知道Node有什么类似的方法。

最新更新