一个Node.js ORM框架——ORM2

转载自:http://vicdory.com/node-orm-framework-orm2.html

 

习惯了Java中的Hibernate,在使用Node时老是写SQL语句很不爽,最近找到了一个比较好用的Node.js ORM框架,名字也很霸气,叫做ORM2,github地址是https://github.com/dresende/node-orm2.

下面举几个ORM2的基本用法,相信看完后就能在Node项目直接使用。

 

连接数据库

ORM2支持MySQL、PostgreSQL、Amazon Redshift、SQLite四种数据库

var orm = require("orm");
orm.connect("mysql://username:password@host/database", 
    function (err, db) {
    // ...
});

 当然规范点应该搞个DB配置文件

var opts = {
    database: "yourdb",
    protocol: "mysql",
    host: "127.0.0.1",
    username: "root",
    password: "root",
    query: {
        pool: true,
    },
};
 
orm.connect(opts, function(err, db) {
    // ...
});

 

定义Model

ORM最重要的一步应该是定义Model,很简单,在连接MySQL后的回调中使用db定义一个Model类

db.define('User', {
    name: String,
    email: String,
    password: String,
}, {
    id: "uuid",
});

 在这里可以指定属性的类型、长度、是否可空等选项。

同步数据库

//同步User表
User.sync(function (err) {
    console.log("done!");
});
//也可以使用db.sync()同步所有表

 

CRUD操作

定义Model后,增删改查就会很简单的了

//插入数据
User.create([{
    name: 'a',
    email: 'a@a.com',
    password: 'aa',
}, {
    name: 'b',
    email: 'b@b.com',
    password: 'bb',
}], function(err, items) {
    // pass
});
//查找数据
User.find({
    name: "admin"})
    .limit(3)
    .offset(2)
    .only("name", "email")
    .run(function(err, data) {
    //非常漂亮的链式风格有木有~~~
    //查询name为admin的用户,跳过前2个,保留3个结果而且只需要返回name和email字段
});
//更新、删除数据
//更新db只需调用save即可
SomeOne.save(function(err) {
    console.log("done!");
});
//删除
SomeOne.remove(function(err) {
    console.log("done!");
});
//上面的SomeOne实例必须包含了uuid属性。

 基本的用法就是这样子了,高级的用法还有Model之间的对应关系,一对多,多对多什么的,可以参考官网的Associations

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值