【问题标题】:Node orm2 socket integration节点 orm2 套接字集成
【发布时间】:2015-01-23 20:08:02
【问题描述】:

本地环境配置 赢7 64位 日食 MySQL 工作台

应用配置 节点JS 0.10.5 Express 框架 3.4.7 或 2.1.19 mysql 2.0.0-alpha8

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

详情 正如 orm2 npm 扩展的documentation 中所说,有一种简单的方法可以将 orm 集成到 application express 框架。对于我的添加到购物车功能,我希望我能捕捉到 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 框架? 如果没有,将模型定义移动到外部节点模块可能是一个好方法,但是如何调整 db-connections 性能?池化应该够了吧?

【问题讨论】:

    标签: mysql node.js sockets orm


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      相关资源
      最近更新 更多