Node.js 用nodejs构建CouchDB

Node.js 用nodejs构建CouchDB,node.js,couchdb,couchdb-nano,Node.js,Couchdb,Couchdb Nano,有没有人有使用真正DAL的CouchDB的经验?CouchDB不同于其他任何数据存储,特别是由于它的视图概念为数据-业务逻辑分离添加了有趣的动态。。。更不用说控制应用程序源代码的版本了 旁注:像Nano这样的库不是DAL。它们类似于数据库驱动程序。直接从业务逻辑使用Nano将把应用程序与CouchDB联系起来。不是我想要的。相反,我定制的DAL使用Nano作为驱动程序,但将业务逻辑与Nano完全分离 问题:我应该阅读哪些最佳实践或文档?任何可以在MongoDB和CouchDB之间切换的现有DAL

有没有人有使用真正DAL的CouchDB的经验?CouchDB不同于其他任何数据存储,特别是由于它的视图概念为数据-业务逻辑分离添加了有趣的动态。。。更不用说控制应用程序源代码的版本了

旁注:像Nano这样的库不是DAL。它们类似于数据库驱动程序。直接从业务逻辑使用Nano将把应用程序与CouchDB联系起来。不是我想要的。相反,我定制的DAL使用Nano作为驱动程序,但将业务逻辑与Nano完全分离


问题:我应该阅读哪些最佳实践或文档?任何可以在MongoDB和CouchDB之间切换的现有DAL(作为我尝试做的事情的起点)?

您可能需要查看resourceful,它支持多个数据适配器,包括MongoDB和CouchDB

下面是一个简单的用例:

var resourceful = require('resourceful');

var Creature = resourceful.define('creature', function () {
  //
  // Specify a storage engine
  //
  this.use('couchdb');

  //
  // Specify some properties with validation
  //
  this.string('diet');
  this.bool('vertebrate');
  this.array('belly');

  //
  // Specify timestamp properties
  //
  this.timestamps();
});

//
// Now that the `Creature` prototype is defined
// we can add custom logic to be available on all instances
//
Creature.prototype.feed = function (food) {
  this.belly.push(food);
};

您应该看看CouchDB的DAO库。下面是我写的一个例子:。