Articles of mysql

Nodejs微风轻松与MySQL – 。select()不起作用

我使用breeze-sequelize版本0.0.18。 我得到一个奇怪的错误_.pluck is not a function当我尝试使用select()的entityQuery。 如果我删除.select(),它会工作得很好。 我的微风查询看起来像这样: var predicate = Predicate.create('transactionDate', '>=', fromDate); var entityQuery = EntityQuery.from('Transactions') .where(predicate) .select('transactionDate'); var sequelizeQuery = new SequelizeQuery(api.db, entityQuery); return sequelizeQuery.execute(); 回来后,我得到的错误是: TypeError: _.pluck is not a function at SequelizeQuery.<anonymous> (/Users/shu/Documents/project/node_modules/breeze-sequelize/SequelizeQuery.json.js:143:39) at Array.map (native) at SequelizeQuery._processSelect (/Users/shu/Documents/project/node_modules/breeze-sequelize/SequelizeQuery.json.js:136:56) at SequelizeQuery._processQuery (/Users/shu/Documents/project/node_modules/breeze-sequelize/SequelizeQuery.json.js:72:8) at new SequelizeQuery (/Users/shu/Documents/project/node_modules/breeze-sequelize/SequelizeQuery.json.js:43:23) at getTransactions (/Users/shu/Documents/project/src/server/api/admin.controller.js:189:26) 所以我好奇地看了一下函数SequelizeQuery._processSelect在我的breeze-sequelize库中。 […]

如何用Loopback自动创buildMySQL视图

我最近才意识到Loopback及其令人印象深刻的function。 我有一个问题是关于数据和模型迁移。 我绝对肯定可以做到这一点,但我不知道该怎么做。 有没有办法在loopback中编写启动脚本文件,以便a)检查MySQL中是否存在视图,b)如果没有,创build视图? 提前致谢!

Ghost博客平台连接重置错误

我正在Microsoft Azure上运行Ghost作为Web服务。 我正在使用MySql数据库存储而不是默认的Sqlite。 每当我打开博客,我得到Econnreset错误状态为500,并显示Sql查询。 我有MySql在虚拟机中运行。 但一切都刷新罚款。 我也在使用连接池。 如何纠正这个问题,或者什么可能是Ghost放弃与数据库连接的可能原因。

Node.js使用tunnel-sshbuild立与远程mysql服务器的连接

我正在使用tunnel-ssh模块使用node.jsbuild立到远程mysql数据库的连接。 文档很差,我无法build立连接。 这里是代码片段: var tunnel = require('tunnel-ssh') var server = tunnel.tunnel(config.sshData, function(err, result) {console.log('connected'}); 这是我的sshData对象。 config.sshData = {host : 'serverxyz.web-hosting.com', username : 'xyz', password : 'xyz', srcPort: 3307, dstPort : 21098} 21098 文档build议dstPort是21098 。 不过,我收到超时错误,每当我添加此片段: server.on('error', function(err) {}); 我得到的错误server.on is not a function 。 远程连接在putty和SQLyog上工作正常。 任何有关如何build立成功连接的程序都会有很大的帮助。 谢谢! 更新 通过使用指定的正确端口,并通过直接使用ssh2模块与这里给出的代码示例获得数据库的工作

在Node.js上从mysql结果JSON获取一个数组值

我有一个MySQL列中包含数组。 而在console.log(collection[0])打印这个包含列的行时结果是: RowDataPacket { id: 6, title: 'fsd', createddate: '2016-04-14 00:16:29', tag: 'fsdsd', img1: '[\'12071331_184535658548108_1612982316_n.jpg\', \'12071715_826061364175214_103377995_n.jpg\', \'12076929_10207206326744146_1386812779_n.jpg\']', img1big: '[\'small_12071331_184535658548108_1612982316_n.jpg\', \'small_12071715_826061364175214_103377995_n.jpg\', \'small_12076929_10207206326744146_1386812779_n.jpg\']' } 我想打印12071331_184535658548108_1612982316_n.jpg的值来查看。 我使用了这样的方法: {% for i in collection %} {{i.img1[0]}} {% endfor %} 但是视图只显示了一个string的第一个字符: [ {{i.img1}}的结果是: ['12071331_184535658548108_1612982316_n.jpg', '12071715_826061364175214_103377995_n.jpg', '12076929_10207206326744146_1386812779_n.jpg'] 问题是,如何在视图上打印12071331_184535658548108_1612982316_n.jpg ? P / S:我试图在控制器和视图中使用JSON.parse()和JSON.stringify() ,但是没有用处。 谢谢

在不使用主键的情况下,在js中填充一对多的关系

在sails / waterline文档中,一对多的每个示例代码假定主键是两个模型(我认为)之间的关联。 http://sailsjs.org/documentation/concepts/models-and-orm/associations/one-to-many 不过,我有模型有一个引用列引用一些其他值类似于 User { id (primary): <int> email: <string> } recordings { id (primary): <int> email: <that email from user> } atm即时通讯尝试 userModel.js { attributes: { email: { type: 'string', size: 255, unique: true }, }, queries: { columnName: 'email', model: 'recordings' } ….. } } recordingsModel.js { attributes: { email: { […]

承诺不能正常工作

我试图用MySql做一个嵌套的查询,把结果放在一个variables里,并通过http发送,但程序总是运行console.log("test 2:"+rpsData); 在查询完成之前。 我已经尝试过,但仍然遇到同样的问题。 const express = require('express') const app = express() const mysql = require('mysql'); const Connection = require('mysql/lib/Connection'); const Promise = require('bluebird'); Promise.promisifyAll([ Connection ]); const connection = mysql.createConnection({ host : 'localhost', user : 'root', password : 'root123', database : 'mygallery' }); app.get('/posts', function(request, response) { var rpsData; connection.connectAsync() .then(function() { connection.query('SELECT * […]

Nodejs – 带有循环的node-mysql事务

我的nodejs项目目前使用node-mysql 。 我有一个多级数据数组,我想要插入到多个表中。 交易是我想到的,以实现我的目标。 以下是我的代码的大纲: const mysql = require("mysql") const pool = mysql.createPool({ // connectionLimit=10 by default connectionLimit: 5, // 10 by default host: 'somehost', user: 'userblah', password: 'passworblah', database: 'dbblah' }) pool.getConnection(function(err, dbConnection) { dbConnection.beginTransaction(function(err1) { if (err1) { console.log(“Unable to begin the transaction”) return } arrayElements.forEach(function(element) { var insert1 = mysql.format(“INSERT INTO table1(…) […]

节点mysql插入到许多表中

我使用nodejsparsing一个csv文件,并将其保存在MySQL中的信息。 我试图插入数据到多对多的表,但希望ID插入到数据库中用于anohter查询? con.query("INSERT INTO TransactionDescription SET ? ON DUPLICATE KEY UPDATE Description= VALUES(Description)", trandesc, function(err, res) { if (err) throw err; }); 我可以返回生成的ID,所以我可以在这个查询中使用它们吗? con.query("INSERT INTO Transaction SET ? ", tran, function(err, res) { if (err) throw err; });

如何知道MySql的条件INSERT是否工作?

使用条件插入,我想知道是否插入一行或者是否发现重叠。 我有一个查询插入一个请求到数据库,如果它不与任何现有的条目重叠。 查询工作,但我怎么知道是否有碰撞? 查询只是成功执行。 这是我的查询: INSERT INTO requests(id, start_time, end_time) SELECT NULL, 1463631640671,1463636731000, FROM Dual WHERE NOT EXISTS ( SELECT * FROM requests WHERE start_time < 1463638531000 AND end_time > 1463636731000 ) 供你参考。 我正在使用mysql包在Node.js中进行此操作。 代码看起来像这样,每次都返回“SUCCESS”。 var queryString = "INSERT INTO requests(id, start_time, end_time…" connection.query(queryString, function(error, results, fields) { if (!error) { console.log('SUCCESS!'); } else { […]