Articles of mysql

SQLite与MySQL的Ghost博客?

我目前正在我的服务器上设置幽灵。 我将主办自己的博客,可能还有更多的朋友。 Ghost默认使用sqlite。 Sqlite适用于小型应用程序和开发环境。 如果鬼魂能干得好,我打算至less跑1-2年或者更长时间。 一个博客包含了很多图片和文字。 随着时间的推移,sqlite数据库会随着越来越多的图像等等而增长。 数年来为此目的使用sqlite可以吗? MySQL会更强大,但也更复杂的设置。 什么是Ghost博客的最佳select?

连接ECONNREFUSED – 节点js,sql

我有一个js文件中的下一个代码: var mysql = require('mysql'); var TEST_DATABASE = 'nodejs_mysql_test'; var TEST_TABLE = 'test'; var client = mysql.createClient({ user: 'root', password: 'root', }); client.query('CREATE DATABASE '+TEST_DATABASE, function(err) { if (err && err.number != mysql.ERROR_DB_CREATE_EXISTS) { throw err; } }); 但是我得到这个错误: node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: connect ECONNREFUSED […]

Sails.js水线查询修饰符date与sails-mysql?

我刚刚开始使用它的ORM,水线Sails.js,绝对喜欢它,但我不知道如何使用date查询修饰符。 我正在使用sails-mysql。 具体来说,我想获得具有两个特定date之间的date时间字段的行。 我试过这样做: MyModel.find() .where({ datetime_field: { '>=': startDate } }) .where({ datetime_field: { '<=': endDate } }) .done(function(err, objects){ // … }); startDate和endDate是两个Date对象。 我也尝试将它们转换为toString()string。 在这两种情况下,我从数据库中获取每一行,而不是两个date之间的行。 有没有办法做到这一点,或者这个function还不是Waterline或者sails-mysql的一部分吗?

使用NodeJS在MySQL中运行SQL文件

我正在使用nodejs的mysql插件,并且在做所有我需要的东西方面是非常棒的。 不过,我遇到了一个绊脚石。 我创build了一个MySQL提供程序来导出一个mysql池: var mysql = require('mysql'); var mysqlPool = mysql.createPool({ host : '127.0.0.1', user : 'root', password : '' }); mysqlPool.getConnection(function(err, connection) { connection.query("INSERT INTO …. 我可以select,创build,插入等所有罚款,但我遇到了一个任务,我想与大约10个不同的命令一起运行一个小的SQLstring。 我想过要做以下其中一项: 使用mysql对数据库执行一个SQL文件 运行query并启用multipleStatements 我已经写了一些代码来执行mysql作为一个subprocess,但我真的很乐意避免这样做: var cp = require("child_process"); var cmdLine = "mysql –user=autobuild –password=something newdb < load.sql"; cp.exec(cmdLine, function(error,stdout,stderr) { console.log(error,stdout,stderr); }); 选项二的问题是我宁愿不为每个查询启用多个语句,只是这个特定的一个。 我曾想过创build一个新的连接,但只是想着可以做的其他方式。 TL; DR? 使用NodeJS和MySQL我怎样才能执行以下到数据库中: […]

如何将parameter passing给nodejs中的mysql查询callback

我试图找出正确的方式传递自定义数据的查询调用在callback中可用。 我在nodejs(所有最新版本)中使用MySQL库。 我有一个调用connection.query(SQL,function(错误,结果){…}); 我无法find一种方法来1)传递自定义数据/参数的调用,以便2)它可以使callback被调用时可用。 那么这样做的正确方法是什么? 我有以下(伪代码): … for (ix in SomeJSONArray) { sql = "SELECT (1) FROM someTable WHERE someColumn = " + SomeJSONArray[ix].id; connection.query(sql, function (err, result) { … var y = SomeJSONArray[ix].id; }; } 从上面的代码中,我需要能够将查询中使用的“ix”的当前值传递给callback本身。 我怎么做?

GraphQL – 返回计算types依赖于参数

概述 (简体): 在我的NodeJS服务器中,我已经实现了下面的GraphQL模式: type Item { name: String, value: Float } type Query { items(names: [String]!): [Item] } 客户端查询然后传递一个名称数组作为参数: { items(names: ["total","active"] ) { name value } } 后端API查询一个mysql数据库,“ 总计 ”和“ 活动 ”字段(我的数据库表上的列),并减less响应,如下所示: [{"name":"total" , value:100} , {"name":"active" , value:50}] 我想我的graphQL API支持“比例”项目,IE:我想发送以下查询: { items(names: ["ratio"] ) { name value } } 要么 { items(names: ["total","active","ratio"] […]

Sails.js查询关联的值

我正在使用Sails.js版本0.10.0-rc4 。 所有的模型都使用sails-mysql。 我试图查询一个模型,有一个“一对多”关联到另一个模型(查询发生在“多”一侧)。 它看起来像这样: Post.find() .where({ category: category_id }) .populate("category") .exec( … ) 这给了我一个空数组,但是当我离开.populate("category")我得到正确的结果集。 我知道我可以离开.populate("category") ,然后分别获取每个相关的类别对象,但我想知道是否有更好的解决scheme,这个问题。

在sequelize中检查mysql连接

我有一个非常简单的程序,我创build一个Sequelize实例,然后我执行一个MySQL数据库的原始查询。 这种情况是,当MySql启动并运行没有问题,我可以执行查询没有问题。 但是,当MySql没有运行,那么查询不会发出任何错误,直到查询超时已经达到,然后它发出一个ETIMEOUT错误。 但那不是真的发生了什么事情。 我希望查询发出ENOTFOUND错误或类似的东西,如果mysql不运行,所以我可以pipe理错误,并执行不同的操作,如果Mysql已经closures或Mysql非常繁忙,并有一个非常大的响应时间。 我要做些什么来检查Mysql是否启动并运行,而不必等待超时exception。 sequelize = new Sequelize(db_name, db_user, db_pass, opts); sequelize.query('SELECT * FROM some_table').success(function(result) { console.log(result); }).error(function(err) { console.log(err); });

在Nodejs和Express上使用Mysql(node-mysql)

林新节点和expression,我有一个关于使用MySQL的问题。 我有一个login表单发布到“/login”。 我使用node-mysql模块。 app.get('/site', function(req, res){ if (req.session.is_logged_in === true) { res.render('site/start', { title: 'News' }); } else { res.redirect('/'); } }); app.post('/login', function(req, res){ client.query('SELECT id, user_name FROM user WHERE email="' + req.body.login + '" AND password="' + Hash.sha1(req.body.password) + '"', function (err, results, fields) { if (err) { throw err; } if (results[0]) […]

Nodejs同步对于每个循环

我想为每个循环做一个,但它有同步运行。 循环的每一次迭代都会执行一个http.get调用,并将返回json以将值插入到数据库中。 问题是,for循环asynchronous运行,并导致所有的http.gets一次运行,我的数据库不会最终插入所有的数据。我使用async-foreach来尝试做我想做的这样做,但我不必用它,如果我能以正确的方式做到这一点。 mCardImport = require('m_cardImport.js'); var http = require('http'); app.get('/path/hi', function(req, res) { mCardImport.getList(function(sets) { forEach(sets, function(item, index, arr) { theUrl = 'http://' + sets.set_code + '.json'; http.get(theUrl, function(res) { var jsonData = ''; res.on('data', function(chunk) { jsonData += chunk; }); res.on('end', function() { var theResponse = JSON.parse(jsonData); mCardImport.importResponse(theResponse.list, theResponse.code, function(theSet) { console.log("SET: " […]