Tag: mysql

获取与模型相关的所有收集logging

// Note model attributes: { // Relations notebook: { model: 'Notebook' }, } 和 // Notebook attributes: { // Relations owner: { model: 'User' }, notes: { collection: 'Note', via: 'notebook' } } 在控制器中: Notebook.findOne({owner: user.id}, function (err, notebook) { if (err || !notebook) { return res.serverError(err); } // –> until here it goes all […]

从表中select最新的数据

我有一个名为item_histories的表设置,如下所示。 +——————————–+ | id itemId date price | +——————————–+ | 1 2 2015-01-10 310 | | 2 2 2015-01-11 318 | | 3 2 2015-01-12 326 | | 4 2 2015-01-13 333 | | 5 2 2015-01-14 335 | | 6 6 2015-01-10 121598 | | 7 6 2015-01-11 121598 | | 8 6 2015-01-12 […]

Lambda AWS不调用节点mysqlcallback

我试图通过AWS的简单通知服务vi和Lambda来处理从亚马逊简单电子邮件服务发送的反弹。 我正在运行以下脚本: var aws = require('aws-sdk'); var mysql = require('mysql'); Processor = {}; Processor.initializeConnection = function() { console.log('Connecting to database'); Processor.connection = mysql.createConnection({ host : 'MYHOST', user : 'MYUSER', password : 'PASSWORD', database : 'DATABASE' }); console.log('Connection configured'); Processor.connection.connect(function(err) { console.log('****'); console.log(err); if (err != null) { console.log('Could not connect to database'); return false; } […]

Node.js mysql查询语法来检索

我正在使用MySQL nomj的nodejs来检索date。 目前select * from table工作正常,但如果我想查询数据库和检索2个值之间的date它不工作。 节点代码是 app.get('/api',function(req,res) { var startDate = req.param('startDate'); var endDate = req.param('endDate'); var sqlQuery =null; var message ={}; message.status=false; log("Params Found Changing SQL Queries For Start And End Date"); sqlQuery ="SELECT * from sentiment_data where *file_ts* >= "+startDate+" and *file_ts* <= "+endDate+" order by file_ts"; log(sqlQuery); if(user.isDB) { connection.query(sqlQuery, function(err, […]

Sequelize – 连接表从未创build

我一直在试图构build一个简单的“消息”应用程序。在给MongoDB一个尝试之后,我发现它最好用MySQL。 所以我不想用手写所有的表格/查询等,我想学习从头开始build立一个ORM,Ak Sequelize。 比方说,我有一个用户表: var User = sequelize.define('user', { email: { type: Sequelize.STRING, validate: { isEmail: true //msg: "Email is invalid" } } } 和一个消息表: var Message = sequelize.define('message', { message: {type: Sequelize.STRING}, sender: {type: Sequelize.STRING}, read: {type: Sequelize.BOOLEAN} } 每个用户可以有多个消息,每个消息可以有2个用户在对话中。 所以当我这样做: User.hasMany(Message); Message.belongsToMany(User, {through: 'Conversation', foreign_key: 'id'}); User.sync(); Message.sync(); 我期望一个名为Conversations …的交接表…持有user_id ..并且每个消息都有一个对话Conversation_id的引用,但显然它不是真的… 有谁知道正确的方法是什么? 谢谢!

Nodejs node-mysql查询结果数据types

我无法弄清楚如何从callback函数中的mysql查询中获取数据。 例如,我有如下查询: mysqlConnection.query('SELECT COUNT(*) from card AS count', function (err, result) { if (err) { throw err; } else { console.log(Type.of(result)); console.log("card count is as: " + result.count); console.log("Card count is: " + result["COUNT(*)"]); console.log(result); } }); 这打印出来: [Function: Array] card count is as: undefined Card count is: undefined [ { 'COUNT(*)': 3 } ] […]

res.cookie()不会与mysql连接之后

我试图连接到MySQL数据库,运行一个查询,然后设置一个cookie,只有密码是正确的(我知道我不应该使用md5,这只是一个testing项目)。 这是我写的代码,当我执行并请求这个请求时,它说Error: Can't set headers after they are sent. 但我没有发出任何回应,直到我打电话res.cookie()我不知道什么是错的: email=req.params.email; password=req.params.password; var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : 'nishchal11', database : 'venturesity' }); connection.connect(); sql="SELECT * FROM user WHERE user_email="+connection.escape(email)+" AND password=md5("+connection.escape(password)+");"; connection.query(sql,function (err,rows,fields) { res.cookie("email",email); if(!err){ if(rows.length==1){ //res.cookie("password",rows[0].pass); console.log(rows[0].pass); }else{ console.log("wrong pass"); } }else{ console.log("Error"); } }); res.end(sql); […]

节点js中的date格式转换

我正在使用一个窗体,从中用户可以从dd-mm-yyyy hh:mm:ss格式的date时间select器中selectdate时间。 现在我想将格式转换为yyyy-mm-dd hh:mm:ss格式存储在mysql表中。 我尝试了这样的时刻 console.log(moment(status.date).format('MM/DD/YYYY')); where status.date我将从用户从datetimepicker中selectdatetime的表单发布。 请帮忙

如何将sequelize.sync选项强制设置为false?

我正在使用mysql数据库部署一个node.js应用程序,并在heroku上使用sequelize ORM。 当我部署时,sequelize重新创build数据库。 该应用程序无法正常工作,因为它需要数据库中的数据。 我相信sequelize.sync选项是罪魁祸首。 在我的本土发展环境中,我设定了一个手动假的力量。 但是在heroku上,sequelize正在被重新安装(package.json),我猜sync的默认是force:true。 我如何设置一个选项来阻止这种行为? 我通过了文档,并尝试了这一点: var sequelizeOptions = { host: "blah.blah.us-east-1.rds.amazonaws.com", dialect: 'mysql', port: 3306, sync: {force:false} }; 这被传递给sequelizeManager,依次处理DB的创build。 这种方法是行不通的。 任何帮助深表感谢。

Nodejs是否可以validationPHP用户的会话?

请随身携带,因为这是一个很长的问题,但有很多细节来解释我的问题。 我在做什么? 我正在尝试在PHP应用程序和电话系统的REST API之间build立通信。 由于我的网站都是用PHP编写的,所以我决定用cURL调用API来构build使用PHP的通信。 为了让你加快速度,用户和API之间有两种types的通信,我喜欢把它们分成两个不同的类别 发送一次/接收一次这将是一个例子,用户尝试拨打一个新的电话号码“拨打800-123-4567”。 API接收请求并返回一个交互ID,以允许用户控制呼叫(即,断开,静音,搁置….) 每秒发送一次/接收在此通信中,我将在用户会话和API之间创build“持续”连接。 然后,每隔一秒,我会检查API的新消息。 在接收到来自API的消息之后,我必须更新用户的caching,读取最新用户的caching,并最终向浏览器发送caching数据。 问题? HTTP是无状态的。 用户发送给Web服务器的每个请求都会生成一个新的TCP连接。 这个问题是,我每秒查询API的新消息,我将有一个新的TCP连接。 在每个用户的任何给定时间平均需要约200个TCP连接。 所以,如果我有300个用户使用应用程序/服务器,那么大约有60,000个TCP连接为Web服务器打开。 正如你可以清楚地看到解决scheme在这里不能很好地扩展,服务器在我面前爆炸是一个时间问题… 🙁 另一个问题是PHP不是asynchronous的,如果与API的通信花费更长时间或返回错误,则会导致问题。 FWIW,我试图用JavaScript的SharedWorker来消除一些开销。 我每一个尝试服务器发送事件,但用户仍然产生了太多的TCP连接到服务器。 没有什么第一个问题,我只能够减less一点连接。 Nodejs可以帮忙吗? 几个人build议我使用Nodejs而不是PHP来完成这个任务。 当然,我不打算把我的PHP应用程序改成Nodejs,因为这是疯狂的,因为我的应用程序是巨大的。 我想考虑运行一个nodejs服务器作为PHP服务器和API服务之间的中间人。 这个想法是在节点服务器上运行一个WebSocket。 然后,客户端将任何通信传递给WebSocket,然后WebSocket将通信发送到服务器。 这听起来不错,但是一旦深入挖掘,似乎越来越棘手。 Nodejs的挑战 当用户login到我的PHP应用程序,我validation他们的凭据,一旦他们在那我创build一个存储到MySQL数据库的会话。 一个会话是有效的以下必须是正确的 IP地址必须与创build会话的IP相匹配 代理数据也必须匹配(我可以没有它的nodejs) 会话的空闲时间必须less于900秒。 为了Nodejs开始通信,它必须首先创build一个新的连接到API。 连接被接受后,nodejs必须跟踪“接收到的API”的下列数据 CSFR令牌 会话ID Http Cookie 为了Nodejs连接到API,它必须通过用户名,密码,服务器名称,端口和站名。 我有所有需要的信息存储到MySQL数据库,我可以很容易地得到使用PHP。 面临的挑战是NodeJS必须采取PHP会话,validation它,从数据库中提取API所需的信息,然后build立与API的连接。 问题 nodejs可以使用PHP会话来validation用户吗? 如果这样怎么样? nodejs如何使用TCP连接来防止我重载服务器?