Node.js 的 ORM 框架 rdb

MIT
JavaScript
跨平台
2015-02-21
红薯

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);
}
加载中

评论(0)

暂无评论

暂无资讯

17
回答
成为架构师,需要哪些技能?

在软件开发圈,“架构师”是一个受万人追捧的头衔,架构师给人的感觉是站在软件系统后面指点江山的诸葛亮,一个系统的如何运作、运作得如何,架构师都能提前设想出来...

01/10 16:36

没有更多内容

加载失败,请刷新页面

没有更多内容

Redis高并发3-redis数据持久化之rdb

内容大纲 1、如何配置RDB持久化机制 2、RDB持久化机制的工作流程 3、基于RDB持久化机制的数据恢复实验 ------------------------------------------------------------------------ 1、如何配...

2018/03/18 21:18
68
0
Redis应用学习(五)——Redis持久化的选择与取舍

1. 持久化的作用 1. 持久化:Redis运行时所有的数据都保存在内存中,对数据的更新将会异步的存储到磁盘中,当Redis需要恢复数据时就加载磁盘中的数据 2. 持久化的实现方式: 快照:简单来说,...

2018/10/28 23:12
44
0
redis-rdb-tool 工具介绍

redis-rdb-tool 是用python写的一个能够根据rdb文件分析redis内存占用、导出key、value 或者比较两个rdb文件差异的工具。通过分析rdb文件可以减少对线上的干扰,如果redis没有开启持久化,可...

03/30 16:51
11
0
Redis内存分析工具

Redis内存分析工具RdbTools使用

2015/12/25 17:24
860
0
Redis【理论篇】Redis持久化

Redis 中文网 http://www.redis.cn/topics/persistence.html Redis 英文网 https://redis.io/topics/persistence Redis 是一款支持数据持久化的缓存中间件,在提供强大性能的同时支持数据持久...

05/23 08:51
4
0
Linux下,Redis(四)Redis数据持久化

简单说一下redis的持久化

2018/06/04 16:41
364
0
Redis持久化RDB和AOF

本文转载自:http://www.ymq.io/2018/03/24/redis/ Redis是一种高级key-value数据库。数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合...

2018/05/03 18:06
38
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部