Tag: mysql

SQL查询的结果没有传递给Node Js Promise中的resolve()

所以我认为我是这样做的,但我猜不是。 我试图将查询的结果传递给then()的函数。 我有两个函数内的console.log()日志logging结果。 第一个应该是吐出结果。 第二个是给我undefined ,我不知道我做错了什么。 var dbConnect = () => new Promise( (res, rej) => { var connection = mysql.createPool(Config.mariaDBCred); connection.getConnection((err, connection) => { if(err) return rej(err); return res(connection); }); } ); var dbQuery = (connection, queryString, paramArray) => new Promise( (res, rej) => { var sql = mysql.format(queryString, paramArray); connection.query(sql, (err, results, fields) […]

具有sequelize和节点js的Mysql本机空间函数

我在我的mysql数据库中存储一个POINTtypes的位置: module.exports = function (sequelize, DataTypes) { var Promotion = sequelize.define('promotion', { userId: { type: DataTypes.STRING, allowNull: false }, location: { type: DataTypes.GEOMETRY('POINT'), allowNull: false } 它看起来像点被正确存储: 我试图使用mysql本机ST_MakeEnvelope函数查找一组边界内的所有行。 我用这个postgresql和它完美的工作,但是当我切换到MySQL它开始抛出错误: if (northEastLng && northEastLat && southWestLat && southWestLng) { where.location = { $overlap: db.sequelize.fn('ST_MakeEnvelope', southWestLng, southWestLat, northEastLng, northEastLat) } } promotion.findAll({ where, }) .then(promoters => { […]

基于用户环回的dynamic数据库连接

我正在评估Loopback为我们公司正在build设的新平台。 我设置了一个testing项目,尽pipe学习曲线,我绝对爱循环框架。 我似乎无法想象的一个交易断路器是如何根据请求dynamic连接到数据库,基于用户和客户请求数据。 我们的遗留系统为每个客户和每个客户所在地(每个客户有3个地点,总共有4个数据库)提供一个数据库,而且不会立即迁移数据结构。 这意味着当发出请求时,我们需要连接到该客户数据库,获取数据,然后断开连接。 任何回环人知道这是可能的?

Sequelize和Node.js:Module.Exports和表模型的问题

我正在一台服务器上安装多个数据库。 要开始这个过程,我要在index.js导出对象中分配一个数据库,这样我可以在构build系统时添加另一个数据库。 以下是该问题的描述。 当我运行server.js文件时,数据库db1的.sync函数同步Table1和Table2,然后开始监听其端口。 它明确的server.js文件正在通过var db = require('./models')接收module.exports = db 。 然而在文件models / Table1.js中 ,服务器抛出一个错误TypeError: Cannot read property 'Table1' of undefined 。 我没有在模型/ Table1.js中检查数据库的控制台输出,它是空的,所以它清晰的module.exports = db在这个模型中没有被访问。 有人可以提供解决scheme来纠正这个问题吗? Table1.js模型和上面列出的其他文件的部分代码如下: 车型/ Table1.js var db = require('./.') […] var new_instance = db.db1.Table1.build({…}) server.js var db = `require('./models')` […] db.db1.sync(function(err) {}); 车型/ index.js var sq = new Sequelize(dbname, user, […]

如何用NodeJS处理这些MySQL情况

我目前正在使用MySQL数据库来开发NodeJS应用程序。 我习惯于在创build一些网站时使用PHP / MySQL,我想知道这是不是阻碍了我在开发NodeJS应用程序。 通常情况下,使用PHP / MySQL我有这种情况: 我想检索我美丽的烹饪网站的所有食谱,存储在表食谱 ,并为每个食谱,我想检索存储在表成员的作者信息 。 使用PHP / MySQL,一个可能的方法是使用MySQL JOIN,但我也喜欢这样做: /* Let's retrieve all recipes */ $recipes = $this->recipe_model->all(); /* For each recipe, let's get the author information using the author id stored in the recipe */ foreach ($recipes as $key => $recipe) { $recipes[$key]["author"] = $this->author_model->get($recipe["author"]); } 其实,我想在我的NodeJS中重现这一点,但是由于asynchronous系统,这很复杂。 我试图使用asynchronous,但我想确保这是唯一的替代我的问题。 也许我也在NodeJS中有什么错(我对这个技术没有太多的经验)。 […]

Sequelize – 将表中的列值与条件相关联

Sequelize – 在哪里条件关联表列 我想要在sequelize模型中执行这个查询: SELECT * FROM `model_game` AS `Game` INNER JOIN `model_activity` AS `Activity` ON `Game`.`ActivityId` = `Activity`.`id` WHERE `Game`.`startAt` > ('2017-03-25 07:37:36'-`Activity.duration`) AND `Game`.`status` = 'NotStarted'; 我尝试使用sequelize.col()函数,但仍然不能poulate的价值。 我的代码如下 My Game model . table name model_game var Game = sequelize.define("Game", { startAt: DataTypes.DATE, status: DataTypes.ENUM('NotStarted','Completed') }, { classMethods: { associate: function(models) { Activity.belongsTo(models.Activity); } […]

如何将JSON输出插入与节点js的MySQL

var express = require('express'); var fs = require('fs'); var mysql = require('mysql'); var request = require('request'); var cheerio = require('cheerio'); var bodyParser = require('body-parser'); var app = express(); var output; app.use(bodyParser.json()) app.get('/scrape', function(req, res){ url = 'https://raitalumni.dypatil.edu/events/?tag=live'; request(url, function(error, response, html){ if(!error){ var $ = cheerio.load(html); var json = { title : [], date : […]

使用KnexJS查询X个表的数量?

我有一个独特的情况,我有一个优雅的方式解决问题。 用户传递一组他们想要输出数据的信号。 这个数组可以是1 – > Any_Number,所以我首先根据传递的信号来获取表名(每个信号都存储在一个单独的表中),并将它们存储在一个对象中。 下一步是遍历该对象(包含我需要查询的表名),执行每个表的查询并将结果存储在一个对象中,该对象将被传递给Promise中的下一个链。 我还没有看到任何好的方法来处理这个例子,但我知道这是一个相当独特的场景。 在尝试添加对信号数组的支持之前,我的代码简单地如下所示: exports.getRawDataForExport = function(data) { return new Promise(function(resolve, reject) { var getTableName = function() { return knex('monitored_parameter') .where('device_id', data.device_id) .andWhere('internal_name', data.param) .first() .then(function(row) { if(row) { var resp = {"table" : 'monitored_parameter_data_' + row.id, "param" : row.display_name}; return resp; } }); } var getData = function(runningResult) { […]

在Sequelize中创build主键和外键关系

我有两个模型项目模型和任务模型在sequelize中定义如下所示 import { INTEGER, STRING, DATE } from 'sequelize'; import sequelize from '../sequelize'; import Task from './task.model' const ProjectModel = sequelize.define('project', { project_id: { type: INTEGER, primaryKey: true, autoIncrement: true }, phabricator_project_id: { type: STRING, allowNull: false }, name: { type: STRING }, description: { type: STRING }, start_date: { type: STRING, }, end_date: { […]

从时间戳获取本地时间

我有一个列更新声明为updated TIMESTAMP,是唯一的TIMESTAMPtypes的列。 当我select updated from pushinfo; 我明白了 +———————+ | updated | +———————+ | 2017-04-11 15:33:46 | | 2017-04-11 15:35:02 | | 2017-04-12 10:15:54 | +———————+ 当我使用select FROM_UNIXTIME(updated) from pushinfo; 我越来越 | FROM_UNIXTIME(updated) | +————————+ | NULL | | NULL | | NULL | 为什么不从FROM_UNIXTIME工作? 当我使用这个查询 conn.query(' select updated from pushinfo') 我得到更新如YYYY-MM-DDTHH:MM:SS.000Z什么问题? 如何得到HH:MM:SS YYYY-MM-DD等格式?