使用nodejs构建CouchDB

时间:2014-08-15 23:48:09

标签: node.js couchdb couchdb-nano

有没有人对使用真正DAL的CouchDB有任何经验? CouchDB与其他任何数据存储都不一样,尤其是。由于它的观点概念为数据添加了一个有趣的动态 - 业务逻辑分离......更不用说控制应用程序源代码的修订版了。

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

问题:我应该阅读的任何最佳做法或文件?任何可以在MongoDB和&之间切换的现有DAL CouchDB用于常见事物(作为我想要做的事情的起点)?

1 个答案:

答案 0 :(得分:0)

您可能需要查看资源丰富的https://github.com/flatiron/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);
};