rdb - Node.js 的 ORM 框架
MIT
跨平台
JavaScript
软件简介
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);
}