2

実際の DAL が利用された CouchDB の経験がある人はいますか? CouchDB は、特に他のデータストアとは異なります。データに興味深いダイナミクスを追加するビューの概念により、ビジネスロジックの分離...アプリケーションのソースコードを制御するリビジョンは言うまでもありません。

補足: Nano のようなライブラリは DAL ではありません。これらは、データベース ドライバーに似ています。Nano をビジネス ロジックから直接使用すると、アプリケーションが CouchDB に結び付けられます。私が欲しいものではありません。代わりに、カスタム メイドの DAL は Nano をドライバーとして使用しますが、ビジネス ロジックを Nano から完全に分離します。

質問: 読むべきベスト プラクティスやドキュメントはありますか? 一般的なことのためにMongoDBとCouchDBを切り替えることができる既存のDALはありますか(私がやろうとしていることの出発点として機能します)?

4

1 に答える 1

0

機知に富んだhttps://github.com/flatiron/resourcefulをチェックしてみてください

簡単な使用例を次に示します。

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);
};
于 2015-01-13T02:40:12.430 に答える