node.js - Sequelize 查询回复为:,[object Object]
问题描述
下面的功能工作但没有改变就坏了
exports.updateFormState = async() => {
let queryReply;
try {
queryReply = await db.sequelize.query(
"SELECT * FROM stackoverflow"
);
console.log("Im passed the reply")
console.log("This is the query: " + queryReply)
if (queryReply[1] === 1) {
console.log("Inside if statement")
return "SUCCESS";
}
}catch(err) {
return err.message;
}
}
它应该做什么
它需要向数据库发起查询并返回结果。
它能做什么
它返回 ,[object Object] 奇怪的是它总是返回正确的东西,但现在它没有
有效的东西
查询有效(代码中未显示)数据库连接在那里它以前有效...
解决方案
Sequelize 文档的片段:
默认情况下,该函数将返回两个参数 - 一个结果数组和一个包含元数据的对象(例如受影响的行数等)。请注意,由于这是一个原始查询,因此元数据是特定方言的。一些方言返回结果对象“内”的元数据(作为数组上的属性)。但是,总是会返回两个参数,但对于 MSSQL 和 MySQL,它将是对同一对象的两个引用。
因此,这将稍微取决于您选择的基础数据库,但您更有可能想要返回queryReply[0]
而不是queryReply
.
此外,我注意到您正在这样做:
console.log("This is the query: " + queryReply)
这将尝试将 queryReply 呈现为字符串,但事实并非如此,因为它是一个对象。相反,您可能会发现使用以下命令进行调试更容易:
console.log("This is the query: ", queryReply)
推荐阅读
- javascript - 制作自定义响应组件
- java - 如何设置进度对话框的时间
- python - 带有“AND”运算符的 Python While 循环
- python - python中Drive API的问题
- typescript - 为什么数组中的 Observable 声明没有展平?
- javascript - 自定义 HTML 视频播放器中的全屏功能无法正常工作
- css - mat-icon 不在 mat-button 中心
- visual-studio - OpenCppCoverage 插件没有为 C++ 提供代码覆盖
- ksh - 如何扩展从 ksh 脚本中的文件读取的字符串中的宏?
- git - Visual Studio 一直在我的项目中显示 bin 文件夹