MySQL 连接器和其他 MySQL 客户端工具和应用程序现在将其版本号的第一位数字与其支持的(最高)MySQL 服务器版本同步。此更改使得决定将哪个客户端版本用于哪个服务器版本变得简单直观。
Connector/Node.js 8.0.7 是第一个使用新编号的版本。它是 Connector/Node.js 1.0.6 的继承者。
方法
Collection.modify()
和Collection.remove()
不再接受空搜索条件,例如NULL
或空字符串。-
对放置对象的方法进行了一些更改。此处列出了这些更改:
Drop 方法现在可以在与相应的 create 方法相同的级别上使用。例如,
dropCollection()
和dropTable()
方法已从XSession
类中移除(现在已合并到Session
类中)并移动到Schema
类下;在同样的原则下,该drop()
方法已从Collection
和Table
类中删除。即使要删除的对象不存在,删除方法现在也会成功。
dropView()
现在是异步的,其行为dropTable()
与dropCollection()
隐式执行 drop 操作并返回保存结果的承诺完全相同。
添加了一个配置处理程序接口,
mysqlx.config
用于管理持久会话配置。有关详细信息,请参阅 带有 X DevAPI的 MySQL Connector/Node.js。-
对与 MySQL 服务器的加密连接进行了以下更改:
连接现在默认加密。
连接选项
ssl-enable
已替换为ssl-mode
具有DISABLED
,REQUIRED
(默认值)和VERIFY_CA
作为其允许值的选项。使用该
ssl-crl
选项需要使用 thessl-ca
和 thatssl-mode=VERIFY_CA
;这是由于 Node.js 核心平台的内部要求。
-
BaseSession
,NodeSession
, 并XSession
已合并为一个Session
类。还进行了以下相关更改:该
mysqlx.getNodeSession()
方法被重命名为getSession
并返回一个Session
对象。DatabaseObject.getSession()
现在返回一个Session
对象。
实现了新的客户端故障转移功能,这样在创建新连接时,现在可以在连接字符串中指定多个主机;Connector/Node.js 会尝试每个主机,直到成功建立连接或尝试所有主机。有关详细信息, 请参阅 教程:入门
Connector/Node.js 现在支持使用 Unix 套接字连接到本地服务器。有关详细信息,请参阅 教程:入门。
将文档添加到集合时生成的文档 ID 值的格式已更改。它仍然是基于 UUID 的 32 位十六进制数字的字符串,但数字的顺序已更改以匹配稳定 ID 前缀的要求。
无法使用 PLAIN 身份验证机制为具有 SHA256 密码的用户创建新会话。(漏洞#26117627)
大型 JSON 数组的处理存在问题,并导致抛出异常。(缺陷号 26084604)
从集合中删除文档时尝试使用
bind
会引发异常。(漏洞 #26029551)Table.update()
不需要SearchConditionStr
参数;不包括此参数可能会导致删除给定表中的所有行。如果SearchConditionStr
为空或未定义,现在会抛出客户端异常。(漏洞#25993174)Table.delete()
不需要SearchConditionStr
参数;不包括此参数可能会导致删除给定表中的所有行。如果SearchConditionStr
为空或未定义,现在会抛出客户端异常。(漏洞 #25992969)