为什么我的查询在pgAdming上工作,但当我从服务器执行它时,我得到一个查询错误(错误:连接终止)
Why is my query working on pgAdming but when I execute it from the server I get a query error (Error: Connection Terminated)?
我正在做我的Capstone项目,它需要在数据库中存储一些遥测数据。我使用PostgreSQL 9.5作为数据库,节点作为服务器。
我的问题是,当我试图从服务器发送查询时,我得到一个查询错误[错误:连接终止]。如果我使用JSON.stringify(err)
,我只看到空括号作为结果{}
。有趣的是,如果我使用pgAdmin客户端并执行相同的查询,记录被成功添加,没有任何类型的错误。
这是我在服务器中使用的代码来发送查询:
client.connect(function(err) {
if(err){
return console.error('could not connect to postgres', err);
}
//Checks if there is survey data to process
if(surveyFlag){
//Query to insert survey record
//Returns survey record's auto-generated id to use it when creating or updating the //telemetry record in the database
var query = 'INSERT INTO survey_response (perceived_risk, actual_risk) '+
'VALUES (' + telemetryRecord.survey.perceivedRisk +', ' +
telemetryRecord.survey.actualRisk +') ' +
'RETURNING survey_id';
client.query(query, function(err, result) {
console.log("Query: " + query);
if(err) {
console.log(err);
return console.error('error running survey query', err);
}
surveyID = result.rows[0].survey_id;
//Testing
console.log ("Survey response added with ID: " + surveyID);
});
//Close the connection
client.end();
});
代码client.end()
与代码client.query()
放在同一级别。由于client.query()
是异步的,因此在启动查询后立即调用client.end()
。当查询返回时,客户端已经结束,这导致了问题。
尝试将client.end()
代码放在client.query()
的回调函数中。
client.query(query, function(err, result) {
console.log("Query: " + query);
if(err) {
console.log(err);
return console.error('error running survey query', err);
}
surveyID = result.rows[0].survey_id;
//Testing
console.log ("Survey response added with ID: " + surveyID);
//Close the connection
client.end();
});
相关文章:
- 用于查询错误转换的角度资源返回列表
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- sqlite查询返回错误-can'我不知道为什么
- AJAX 请求不会在 400 个错误查询上执行失败
- POST encodeURI查询字符串内部服务器错误 500
- 解析查询.首次成功/错误 间歇性不调用回调
- j查询对象预期错误
- web2py服务器返回错误,但已提交查询
- Express”;无法获取/查询“;错误
- 未捕获的范围错误:WebSQL查询结果中的项索引超出范围错误
- Jquery通过媒体查询切换窗口大小的错误
- 猫鼬查询/插入无序错误
- Javascript查询字符串错误'='显示为%26
- MongoDB嵌套查询-BadValue错误
- parse.com javascript地理查询api中的withinFile错误
- DynamoDB查询错误:多重验证错误
- 使用 Node 查询推特 api.js但收到错误
- 类型错误:无法读取未定义的 mysql 查询的属性“名称”
- Mongodb-错误查询:BadValue未知顶级运算符:$gte
- (#601)分析程序错误:查询意外结束-Javascript FB.api