Node.js 的 ORM 框架:rdb

jopen 9年前

rdb 是 Node.js 的一个 ORM 框架,支持 Postgres 和 MySQL 数据库。

特点:

  • 简单灵活的映射器

  • 支持事务处理

  • 可定制的持久化策略

  • 支持延迟加载

  • 基于 promises.

示例代码:

var rdb = require('rdb');     var Customer = rdb.table('_customer');     Customer.primaryColumn('cId').guid().as('id');  Customer.column('cName').string().as('name');  Customer.column('cBalance').numeric().as('balance');  Customer.column('cRegdate').date().as('registeredDate');  Customer.column('cIsActive').boolean().as('isActive');  Customer.column('cPicture').binary().as('picture');     var db = rdb('postgres://postgres:postgres@localhost/test');     db.transaction()      .then(getById)      .then(printCustomer)      .then(rdb.commit)      .then(null, rdb.rollback)      .then(onOk, onFailed);     function getById() {      return Customer.getById('a0000000-0000-0000-0000-000000000000');  }     function printCustomer(customer) {      var format = 'Customer Id: %s, name: %s, Balance: %s, Registered Date: %s, Is Active: %s, Picture: %s';       var args = [format, customer.id, customer.name, customer.balance, customer.registeredDate, customer.isActive, customer.picture];      console.log.apply(null,args);  }     function onOk() {      console.log('Success');      console.log('Waiting for connection pool to teardown....');  }     function onFailed(err) {      console.log('Rollback');      console.log(err);  }

项目主页:http://www.open-open.com/lib/view/home/1424576788629