节点orm2套接字集成

时间:2014-11-25 17:37:59

标签: mysql node.js sockets orm

本地环境配置 赢7 64位 Nodeclipse MySQL Workbench

应用配置 NodeJS 0.10.5 Express Framework 3.4.7 orm 2.1.19 mysql 2.0.0-alpha8

问题 我需要将orm2功能和模型集成到我的exoress应用程序的socket.io部分,以便同时获得这两种技术的100%潜力。

详情 正如在orm2 npm扩展的documentation中所说的那样,有一种简单的方法可以将orm集成到应用程序快速框架中。对于我的添加到购物车功能,我希望我捕获addToCart发出的事件并使用orm更新并保持购物车。 我已经使用此代码将orm集成到express中并创建模型:

var connection = dbConnectionParam.protocol+'://'+dbConnectionParam.username+':'+dbConnectionParam.password+'@'+
dbConnectionParam.host+'/'+dbConnectionParam.database+'?pool=true&debug=true';
app.use(orm.express(connection, {
    define: function (db, models) {
        models.Formato = db.define('...

从我的主应用程序文件:

var SessionSockets = require('session.socket.io');
var sessionSockets = new SessionSockets(
        io, sessionStore, express.cookieParser(loadconfig.loadKey('secret')));
sessionSockets.on('connection', function(err, socket, session) {
    socket.on('addToCart', function(data) { ...

直接问题 有没有办法将orm集成到socket.io框架? 如果没有,将模型定义移动到外部节点模块可能是一个好方法,但我如何调整数据库连接性能呢?合并应该足够吗?

1 个答案:

答案 0 :(得分:0)

您可以使用此步骤检索模型。

  1. 创建一个全局变量,即var db = null;

  2. 在页面路由中,在返回响应之前,将db分配给req.models的值,即db = req.models

  3. 在套接字中检索数据库并使用模型。