Tag: mysql

Message.Create不是一个函数会话cli

我已经在我的项目中安装了mysql sequelize然后我使用sequelize命令创build模型和迁移文件creadted消息模型。我也给了在config.json文件中的数据库凭据。现在我试图在我的数据库插入logging,但得到这个错误在这里是我的模型文件 我需要明确地build立数据库连接,或者它会自动从config.json文件中select证书来build立连接? 车型/ messages.js 'use strict'; module.exports = (sequelize, DataTypes) => { var Messages = sequelize.define('Messages', { room: DataTypes.STRING, nickname: DataTypes.STRING, message: DataTypes.STRING, receiver: DataTypes.STRING }, { classMethods: { associate: function(models) { // associations can be defined here } } }); return Messages; }; 这里是config.json文件config / config.json { "development": { "username": "root", "password": "asad", […]

如何使用mysql库在Node.js中创build存储过程?

如何使用mysql库在Node.js中创build存储过程? npm包mysql是否支持创build存储过程,还是在这段代码中有错误? 这是我使用的npm库: https : //www.npmjs.com/package/mysql 我正试图自动为一个开源项目设置数据库,以帮助新的贡献者获得他们的开发环境并使其运行(并让我们所有人都在相同的数据库模式中)。 为了做到这一点,我写了一个脚本,应该把所有的命令发送到一个mysql实例来设置数据库。 创build表正在工作,但是创build新的存储过程总是导致错误。 当我在MySQL Workbench中运行命令时,创build脚本确实有效,所以问题似乎仅限于脚本。 var emails = "CREATE TABLE emails (" + "`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY," + "`email` VARCHAR(2048) CHARACTER SET utf8" + ");"; var addEmail = "DELIMITER //\n" + "CREATE PROCEDURE addEmail(IN email VARCHAR(2048))\n" + "BEGIN\n" + "INSERT INTO emails (email) VALUES (email);\n" + […]

Node.JS + MySQL – 将40多个UPDATE语句凝聚成一个,每个语句都有独特的WHERE子句

我试图制作一个冷却系统,包含一个MySQL数据库来存储冷却时间的“剩余时间”。 我目前有大约50个冷却时间pipe理,每秒更新数据库。 是的,我需要1秒钟的准确性,不,我不能使用variables,因为数据需要在应用程序重新启动后生存。 所以这是我的代码: function cooldowns() { connection.query("UPDATE users SET col1 = col1 – 1 WHERE col1 > 0") connection.query("UPDATE users SET col2 = col2 – 1 WHERE col2 > 0") connection.query("UPDATE users SET col3 = col3 – 1 WHERE col3 > 0") connection.query("UPDATE users SET col4 = col4 – 1 WHERE col4 > 0") […]

麻烦parsing从Node.js和MySQL生成的JSON

大家好, 我目前遇到麻烦,试图从服务器响应parsingJSON。 在客户端/应用程序端程序员,我们有一个服务器程序员负责创buildJSON。 所以我不太了解JSON以及它们是如何生成它们的。 我使用内置的JSON实用程序parsingUnity(游戏引擎)中的JSON。 我一直在search,可能有一些不同的JSON的变体,所以我不知道如果我需要一个第三方库,可以parsing我具体的JSON。 你是否熟悉下面这种types的JSON? [ { "id": 221, "builder_count": 1, "units": "[{\"count\": 1, \"level\": 1, \"type_id\": 1, \"unit_id\": \"2359-1\", \"research_time\": 0, \"research_complete\": 1}],[{\"count\": 5, \"level\": 1, \"type_id\": 11, \"unit_id\": \"2359-11\", \"research_time\": 0, \"research_complete\": 1}],[{\"count\": 5, \"level\": 1, \"type_id\": 2, \"unit_id\": \"2359-2\", \"research_time\": 0, \"research_complete\": 1}]" } ] “单位”键似乎有些偏离,即使它们确实是一个对象,它们仍被视为一个string。 我有权访问服务器代码,这是Key:Units如何生成的。 (整个代码块很大,所以我只是select了这个部分作为例子,请让我知道如果我需要发布整个JSON生成的函数) ' (SELECT […]

将json文件中的值读入node.js文件

我被高级系统问到与数据库build立连接,而不是硬编码创build连接,他要求我将build立连接所需的值存储在一个.JSON文件中,并要求我将这些值存入节点。 js文件 这是我的JSON代码 { "values" : { "host" : "localhost", "user" : "root", "password" : "root", "database" : "node" } } 这下面的代码有HARDCODEDbuild立连接的线索 var mysql = require('mysql'); var con = mysql.createConnection({ host : "localhost", user : "root", password : "root", database : "node" }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); var sql = "INSERT INTO […]

如何插入与对象值的数组到MySQL使用for或foreach在JavaScript(nodejs)?

这是我的cron工作api: var job = new cronJob('* * * * * *', function () { Draft.find().then(data => { var finalData = data; Profsms.create({ phoneno: draftData.contacts.gsm, sender: senderName, message: message }).then(function (data) { if (data) { console.log("successfully moved in profsms mysql"); } else { console.log("failed"); } }) }); }, function () { console.log('DelCron Job finished.'); }, true, […]

从“查询内部查询”结束连接错误

我正在使用mysql节点模块,并有一个错误的Error: Cannot enqueue Query after invoking quit. 从我的源代码有一个块'更新如果存在,否则插入'(类似的逻辑,在我问另一个问题 )。 我将它包含在节点中的原因是“重复”的定义是自定义的。 我已经testing了我的源代码,它能够成功地执行'更新如果存在,否则插入'我的表,但我无法closures我的连接,因为我的插入/更新查询驻留在search查询中。 const insertQueue = (results) => { _.forEach(results, (values, key) => { _.map(values, (value) => { let query = 'SELECT index FROM table WHERE (document=? AND ((document NOT like \'PERSONAL:%\' AND username=?) OR (document like \'PERSONAL:%\' AND serial=?)))'; connection.query(query, [value.document, key, value.serial], function(error, rows){ if […]

Node.js和node-mysql数据库查询 – 需要同步代码的帮助

我正在写一些非Web应用程序助手,并遇到了一个同步查询调用的需要。 基本上,在一个循环内,我需要检查数据库,看看值是否存在。 如果没有,则插入值。 目前,在node-mysql中,我只能使用callback来工作。 因此,node.js将该调用视为asynchronous,并在查询完成之前继续处理我的请求。 这是一个很大的问题,因为最后它可能会插入重复项,因为它们在队列中。 理想的解决scheme – 不起作用。 结果实际上是客户端的对象,我无法find其中的实际结果。 但是,这确实使其同步。 results = client.query('SELECT COUNT(md5) as md5Count FROM table WHERE md5 = "' + md5 + '"') 以下不起作用。 Node.js将其视为asynchronous,而outerResult仍然是客户端的对象。 outerResult = client.query('SELECT COUNT(md5) as md5Count FROM board WHERE md5 = "' + md5 + '"', function selectCb(err, results, fields) {console.log(results);}); 任何帮助表示赞赏。

在Linux服务器上创build守护进程的最佳实践

这是塞纳里奥: 我们有一个运行在NodeJS上的站点。 我们定期从互联网上提取一些数据,分析数据,并更新MySQL数据库。 我的问题是: 创buildLinux守护进程的最佳实践是什么? GCC? 我可以用PHP或其他语言来完成吗? 由于NodeJs将访问相同的数据库,我们如何创build互斥体? 我们如何pipe理守护进程? 例如,如果守护进程崩溃,我们希望自动重启它。

在Node.jsunit testing中重置MySQL自动增量作为拆卸步骤

我目前正在Node.js应用程序中运行DAL上的unit testing。 我希望能够使用虚拟数据库,在整个testing过程中通过非正式的设置/拆卸testing我的CRUD操作。 例如,通过执行插入来进行安装,并通过执行删除来进行拆卸。 我正在testing数据库,而不是模拟/假,因为我宁愿testing复杂的SQL对数据库的半工作副本。 我遇到的问题是在具有AUTO_INCREMENT -ing的列上,我不能指望在ID上有任何一致性。 通过重新设置AUTO_INCREMENT我可以避免这一点,但是我会做大量的复制粘贴代码,在我的所有模型中插入一个方法。 有什么办法我可以做一次,忘记它? 还是有一个更好的做法,我完全错过了?