有没有人对使用真正DAL的CouchDB有任何经验? CouchDB与其他任何数据存储都不一样,尤其是。由于它的观点概念为数据添加了一个有趣的动态 - 业务逻辑分离......更不用说控制应用程序源代码的修订版了。
旁注:像Nano这样的库不是DAL。它们类似于数据库驱动程序。直接从业务逻辑中使用Nano会将应用程序与CouchDB联系起来。不是我想要的。相反,我定制的DAL使用Nano作为驱动程序,但完全将业务逻辑与Nano分开。
问题:我应该阅读的任何最佳做法或文件?任何可以在MongoDB和&之间切换的现有DAL CouchDB用于常见事物(作为我想要做的事情的起点)?
答案 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);
};