nodejs下orm2常用接口介绍

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

利用ORM2创建数据表

//定义 model
var Person = db.define("person", {
    name : String,
    age:Number
}
, {
    methods: {
        getAge: function () {
            return this.age ;
        }
    });
//同步 model 到数据库  
Person.sync(function (err) {
    console.log("create Person table successfully!")
});

执行上面的代码后,数据库会创建person表,除了包括name和age的字段,还包括主键id字段 。当然,这里的id是默认的名称,如果你想改成其他名字,也可以,如下:这样主键就是person_id了

var Person = db.define("person", {
    name : String
}, {
    id   : "person_id"
});

执行原生的SQL语句

如果ORM2提供的接口不能实现原生SQL语句的功能,那ORM2提供了执行原生的SQL语句接口

db.driver.execQuery("SELECT id, email FROM person", function (err, data) {  //your code })
给model添加方法

一种是在定义model的时候添加,如上面代码的methods:
另一种是在定义model之后添加(类似静态方法),如:

 Person.printinfo=function(parm){
        console.log(parm);
    }
    Person.printinfo("nodejs orm2 methods");

数据查询

ORM2提供了很方便又强大的数据查询,如:

Person.find({ age: 18 }, 2, function (err, people) {
    // 查询年龄为18岁的前两条记录
});
Person.find({ age: 18 }, "age", function (err, people) {
    // 查询年龄为18岁并升序返回});
Person.find({ age: 18 }, [ "age", "Z" ], function (err, people) {
    // 查询年龄为18岁并降序返回
});
Person.count({ age: 18 }, function (err, count) {
//查询年龄为18的person有多少条
    console.log("We have %d Does in our db", count);
});
链式风格查询,很强大
Person.find({ age: 18 }).limit(3).offset(2).only("name").run(function (err, people) {
    // 查询年龄为18岁,跳过前两条记录并只保留三条记录
    // 且返只回名字;
});

比较常用的就是这些了,若童鞋们想了解得更深入,可以去官网 https://npmjs.org/package/orm学习学习

转载于:https://my.oschina.net/erichsbc/blog/165746

你可能感兴趣的:(nodejs下orm2常用接口介绍)