问题标签 [node-mysql2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 异步等待 mysql2/promise 和结束连接
尝试使用 MySQL 数据库在 Node.Js 中开发 REST API。你能帮我写一些更好的代码吗?
这里有两个最重要的问题,
预测答案
如果我们尝试再次使用 “{ Error: Can't add new command when connection is in close state at PromiseConnection.execute”尝试再次访问 API,上述代码实现将产生错误
也许如果使用这种看起来很愚蠢的下面给出的方法,我们可以再次调用相同的 API n 而不会出现任何错误。
userModel.js 中还有很多函数,在这种情况下,我们必须创建并结束与每个 API 方法的连接。
任何建议都会有所帮助。问候,
node.js - 节点 mysql2 async-await try catch
我的问题是关于在 Nodejs 中处理异步等待 mysql 查询中的错误。我正在使用 mysql promise wrapper 在 nodejs 中创建一个连接池。
不能调用内部捕获块连接释放,因为抛出错误说
如果查询执行抛出错误,是否需要释放catch块中的连接?如果是这样,使用mysql2释放连接并在异步等待中捕获错误的正确方法是什么?
node.js - How to correctly make multiple MySQL calls in a single request with Node.js, Express.js, MySQL2, and Promises
Looking at the correct/best/better way to use AWAIT with MySQL2 in a Node.js/Express.js app when I need to run multiple queries in a single request.
Early on in my app I create a Promise Pool from my Database config
Then, on a POST request I accept 2 values, both of which I need to verify are valid, and then take the returned ID's and INSERT them in to another table.
Below is was my first attempt but I am missing out on the JS's concurrently goodness. (I've overly simplified all the calls/SQL for demonstration purposes),
Here is my second stab at it, now wrapping the promises up.
The IF at the end still doesn't 'feel' right, but I need to know that the first two queries are valid otherwise I'll send the user to an error page.
What would be a better way to achieve the above result without forfeiting readability too much?
aws-lambda - mysql2 TypeError: f.ClientHandshake 不是构造函数
我正在尝试使用 mysql2 连接到 RDS MySQL 实例。当我在本地使用该软件包时,一切正常。但是,当我在 AWS Lambda 函数中使用它时,我得到了这个神秘的错误:
知道问题是什么吗?我相信角色/安全组都配置正确。
jwt - 将回调迁移到异步
我正在努力迁移一个验证 JWT 令牌然后使用解码的凭据进行数据库调用的 HAPI 函数。
问题是jwt.verify
使用回调,但 Hapi 和 Hapi.MySQL2 都已更新为使用async
函数
主要功能如下
验证令牌函数如下:
调试上面的所有内容,直到数据应该返回到前端。此时我得到一个ERROR 500
我知道问题出在VerifyToken
函数上,好像我省略了这个并将decoded.id
正确的数据硬编码到查询中一样到达前端。
任何指针?
mysql - 在 MySQL 中插入行时,CURRENT_TIME 时间戳不正确,我使用的是 AWS RDS
编辑:这是我使用 node-mysql2 的 mysql 库的问题
我正在使用 AWS RDS 来托管 MySQL 数据库。
我的数据库中有一个具有以下定义的列
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
当我在美国东部标准时间下午 4:43 插入一行时,我得到该列的以下值
2018-12-27T02:43:32.000Z
当我尝试将此值转换为 EST 时,我得到
12/26/2018, 9:43:32 PM
这是不正确的。
我做错了什么还是我需要配置什么?
node.js - 使用 async/await 冒泡和捕获异常的正确模式是什么?
我正在努力弄清楚在嵌套等待/异步例程中处理错误的正确模式是什么,同时保持代码简洁明了。(尽管阅读了无数的文章和博客)
我有一组功能(基本上)类似于以下内容:
_getCount 是创建 sql 的包装器
实际查询执行如下:
如果查询失败,方法conn.query(来自mysql2/promise库)将拒绝承诺。
所以,我的问题变成了处理异常的正确模式是什么?
在同步世界中,我对_execSQL和_getCount 无能为力,只能在validate中捕获异常;只是自然地让异常冒泡。
但是,在异步世界中,如何在不出现“未处理的承诺”异常的情况下进行等效操作?
我是否坚持必须在每个异步例程中一直捕获错误?
或者有没有更好的方法而不使用process.on('unhandledRejection',...)
感觉就像我在规避问题的东西?
编辑:添加示例和堆栈跟踪
好的,所以我实际上已将此代码添加到我的应用程序中,并将 try/catch 放入validate
函数中。逐字代码是:
我有一个用于 unhandledRejection 的事件处理程序,它会报告事件以及内部异常以及堆栈跟踪。这是它转储出来的:
javascript - 类型上不存在属性“长度”... mysql2 模块中的 OkPacket
我有类似的代码 - 非常简单,只是为了展示案例。
问题在于if (result.length === 0) {,错误是error TS2339: Property 'length' does not exist on type 'RowDataPacket[] | RowDataPacket[][] | OkPacket | OkPacket[]'.
我找不到任何方法来重新定义 OkPacket 至少length?: number
足以忽略该错误(大多数选择无论如何都没有得到 OkPackets,如果我知道的时候我得到的不是 OkPacket,我不想检查每个选择的类型这不是)...