Tag: node mysql

nodejs与node-mysql远程连接

我有一个问题,也许有人可以帮助我: 我试图build立一个nodeJS服务器,从我的笔记本电脑,使用node-mysql,并尝试远程连接到我的数据库。 function foo (callback) { // Connect to the database var mysql = require('mysql'); var connection = mysql.createConnection({ host: <ipaddress>, user: "test_developer", password: "test_developer", database: "test3" }); connection.connect(function(err){ if (err){ console.log("cannot connect to database"); console.log(err); } else { console.log("connected to database"); } }); }; // Implementation foo(function(err, result){ console.log("Never made it here"); }); 这超时: […]

在Express 4中要求连接mysql用于MVC结构

我使用快递与node-mysql来实现一个MVC应用程序。 我想问问最好的方法来获得每个模型文件中的MySQL的连接。 我的模型文件在目录模型中。 在express的app.js中,我创build了如下连接: var db = mysql.createConnection({ host: config.dbHost, user: config.dbUser, password: config.dbPassword, database: dbName }); 我可以用 : app.use(function(req,res,next){ req.db = db; next(); }); 然后在模块中,模型通过调用req.db.query()来获得连接。但是我认为这对性能不好。 我该怎么办 ? 编辑:如果我必须在每个请求中访问不同的数据库,意味着创build许多连接。 什么是最好的办法呢?

如何将新更新的行发送到Node.js中的客户端

目前我正在使用Node.js + MySQL POC,它的工作非常好,现在…更新或添加的行将自动通知所有连接到套接字端口的客户端。 但我觉得有必要发送所有的行(让我们说100 +)所有的客户端,因为它是没有任何意义的 – 是否有node.js中的任何模块,从MySQL的新插入或更新行发送广播它的客户? 或者忽略已经传输给客户端的行/数据? 谢谢。 io.sockets.on( 'connection', function ( socket ) { console.log('Number of connections:' + connectionsArray.length); if (!connectionsArray.length) { pollingLoop(); } socket.on('disconnect', function () { var socketIndex = connectionsArray.indexOf( socket ); console.log('socket = ' + socketIndex + ' disconnected'); if (socketIndex >= 0) { connectionsArray.splice( socketIndex, 1 ); } […]

mysql的nodeJS结果是json格式

mysql正在返回我的结果 +——————-+ column_name +——————-+ result1 result2 +——————-+ 我得到的JSON格式的结果是这种格式 [{"column_name":"result1"},{"column_name":"result2"}] 但我想这样的json格式(不使用迭代逻辑) [{"column_name":["result1","result2"]}] 有没有这样的nodejs mysql方法可用或json形成模块?

INSERT INTO与node-mysql失败 – variables始终为NULL

我正在使用MySql和node.js 我有这个查询,它不起作用,MySQL中的temp1是一致的NULL: var queryTemp1 = { tid: '1', temp: temp1, timestamp: myDate }; con.query('INSERT INTO temps SET ?', queryTemp1, function(err,res){ if(err) throw err; console.log('Last insert ID:', res.insertId); }); temp1是浮动我想 – 我可以打印它,一切都OK: var temp1 = parseFloat(stdout); var temp1 = temp1/1000 var temp1 = (temp1.toFixed(2)); 我的桌子有一列: +———–+————-+——+—–+———+——-+ | Field | Type | Null | Key | Default […]

用Node JS将logging数组插入到mysql中

我有一些类似的数据 var records = [ {Name: '', Id: 1}, {Name: '', Id: 2}, {Name: '', Id: 3}, {Name: '', Id: 4}, {Name: '', Id: 5}, {Name: '', Id: 6} ]; logging数组中可能有成千上万的项目… 问题1:我们可以创build一个存储过程来接受mysql中的一个对象数组吗? 问题2:有没有办法使用Node JS将这些数据批量插入到MySQL中?

与node-mysql输出到数组的asynchronous系列

我想从MySQL查询存储在一个数组(docAutocomplete)的结果,并在所有的查询完成后,我想看到最后一个数组。 我正在使用asynchronous系列为此目的。 问题是数组不打印任何东西,因为它看起来没有任何数据(函数,结果)。 var mysql = require('mysql'), async = require("async"); var connection = mysql.createConnection({ host: 'xx', user: 'xx', password: 'xx', database: 'xx' multipleStatements: true }); var docAutocomplete = []; async.series([ function(callback) { connection.connect(); connection.query('select x from a; select b from a', function(err, rows, fields) { if (err) throw err; for (var i = 0; i […]

使用node-mysql从heroku节点应用程序连接到Amazon RDS数据库

我有 app.connectionPool = mysql.createPool({ host : * * *, //(aka ….rds.amazonaws.com) user : * * *, password : * * *, database : * * *, ssl: 'Amazon RDS' }); 用于初始化数据库池,它在本地正常工作(我的IP在RDS设置中被列入白名单),但在从heroku运行时出现[Error connect ETIMEOUT]错误。 我也试过: app.connectionPool = mysql.createPool({ host : * * *, // (….rds.amazonaws.com) user : * * *, password : * * *, database […]

Nodejs mysql – PROTOCOL_SEQUENCE_TIMEOUT – 如何正确closures连接

我正在尝试使用felixge中的nodejs-mysql模块。 我需要做的是做一个一个查询,得到结果,并结束连接。 正如你可以看到,我设置了连接,查询和结果我试图结束连接。 现在的问题是,虽然我发送了一个ComQuitPacket它不能正常断开,并等待数据库连接超时。 顺便说一句,数据收到正确和罚款。 我在数据库上运行SHOW FULL PROCESSLIST,但在接收数据后没有显示连接。 我是否以错误的方式结束了连接? 我也尝试删除callback,而不是结束响应,但没有。 有github https://github.com/felixge/node-mysql/issues/1223现在closures的票 顺便说一下,我使用Heroku的ClearDB MySQL :: Database! 另外我正在使用节点v5.4.0 var connection = mysql.createConnection({ debug: true, host: enhancedWidgetModel.dataSource.mysql.host, user: enhancedWidgetModel.dataSource.mysql.username, password: enhancedWidgetModel.dataSource.mysql.password, database: enhancedWidgetModel.dataSource.mysql.database }) connection.query(enhancedWidgetModel.query, function (err, rows, fields) { connection.end(function (err) { if (err) { console.log(err) } else { console.log('ended') } }) if (err) { console.log(err) […]

如果在同一脚本中使用node-mysql执行超过10次,则不会获得相同查询的响应

几个小时后,我问这个问题 。 当我就这个问题进行调查时,我正在排除故障。 这里是循环,如果我执行函数selectPhotoById超过10次,我只得到10个查询的响应。 例如,以下循环。 for (var i = 0; i < 4; i++) { db.selectPhotoById("12246", function (res) { console.log(res[0].ID); }); } 在控制台响应,我得到 12246 12246 12246 12246 这工作正常,但如果我像增加循环 for (var i = 0; i < 24; i++) { db.selectPhotoById("12246", function (res) { console.log(res[0].ID); }); } 我只有10个ID作为回应 12246 12246 12246 12246 12246 12246 12246 12246 12246 […]