本地环境配置 赢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框架? 如果没有,将模型定义移动到外部节点模块可能是一个好方法,但我如何调整数据库连接性能呢?合并应该足够吗?
答案 0 :(得分:0)
您可以使用此步骤检索模型。
创建一个全局变量,即var db = null;
在页面路由中,在返回响应之前,将db分配给req.models的值,即db = req.models
在套接字中检索数据库并使用模型。