ORM2是一款基于Node.js实现的ORM框架,名字相当的霸气,算是同类框架中非常出色的一款,具体介绍请猛击:https://github.com/dresende/node-orm2
刚接触Node.js + MySQL,在引入项目之初,受Asp.Net经验的影响,产生了许多不小的麻烦。下面是我定义的一个BaseProvider,作为所有DB Provider的父类,提供了一些公共的方法和属性。
function BaseProvider() { this.table_name = {}; this.properties = {}; this.opts = {}; this.getProviderModel = function (callback) { define(this.table_name, this.properties, this.opts, function (error, model) { callback(error, model); }); }; }; var define = function (name, properties, opts, callback) { ORM.connect(pomelo.app.get("mysql"), function (error, db) { if (error) { logger.error(error); callback(error); } else { db.settings.set("connection.pool", true); var model = db.define(name, properties, opts); callback(null, model); } }); };