node.js学习笔记(6)_极客学院_Waterline

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014267209/article/details/52223118

使用方式

var Waterline = require('waterline');
var mysqlAdaper = require('sails-mysql');
var mongoAdaper = require('sails-mongo');

// 适配器
var adapters = {
    mongo: mongoAdaper,
    mysql: mysqlAdaper,
    default: 'mongo'
};

//连接器
var connections = {
    mongo: {
        adapter: 'mongo',
        url: 'mongodb://localhost/waterline-sample'
    },
    mysql: {
        adapter: 'mysql',
        url: 'mysql://root:root@localhost/waterline_sample'
    }
};

//数据类型
var User = Waterline.Collection.extend({
    identity: 'user',
    //  connection: 'mongo', //使用mongo
    connection: 'mysql', // 使用mysql
    schema: true, //是否开启强制模式
    attributes: {
        username: {
            type: 'string',
            required: true,
        },
        birthday: {
            type: 'date',
            after: new Date('1992-10-10'),
        },
        createTime: {
            type: 'date'
        }
    },
    beforeCreate: function(value, cb) { //生命周期回调方法
        value.createTime = new Date();
        console.log('beforeCreate executed');
        return cb();
    }

});

//初始化
var orm = new Waterline();
orm.loadCollection(User);
var config = {
    adapters: adapters,
    connections: connections
}
orm.initialize(config, function(err, models) {
    if(err) {
        console.error('orm initialize failed.', err);
    }
    console.log('models', models);

    models.collections.user.create({
        username: 'linyz'
    }, function(err, user) {
        console.log('after user.create,err,user:', err, user);
    });

});

猜你喜欢

转载自blog.csdn.net/u014267209/article/details/52223118