XDevApi 如何发回 .insert() 的结果

Posted

技术标签:

【中文标题】XDevApi 如何发回 .insert() 的结果【英文标题】:XDevApi How to Send Back the Result of .insert() 【发布时间】:2020-08-01 23:10:11 【问题描述】:

.insert() 是成功的,但在 Postman 中会出现以下结果 result:。如何将屏幕中的整个对象发回,以便客户端可以查询属性?

【问题讨论】:

【参考方案1】:

您不能,因为Result 实例不能直接序列化为 JSON,它最终是通过 HTTP 响应发送回客户端的格式。您需要在服务器端构建一个纯 javascript 对象,其中包含您需要的任何属性,然后将其正确序列化为 JSON。

对于常规的insert(),最终,唯一“有趣”的数据可能是插入的项目数、AUTO_INCREMENT 计数(当它适用时)以及有关已生成的任何警告的详细信息.其他一切都不适用于这种操作。

table.insert(/* something */)
  .execute()
  .then(out => 
    const json = 
      items: out.getAffectedItemsCount(),
      auto_increment: out.getAutoIncrementValue()
    

    if (out.getWarningsCount() > 0) 
      json.warnings = out.getWarnings()
    

    res.status(200).send(json)
  ) 

免责声明:我是 mysql X DevAPI Connector for Node.js 的首席开发人员

【讨论】:

以上是关于XDevApi 如何发回 .insert() 的结果的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中使用 mysql xdevapi 设置 DateTime

@mysql/xdevapi 如何在nodejs中调试“插入的行中错误的字段数”?

使用 Mysql xdevapi

无法在 Mac 上安装 php 扩展“mysql_xdevapi”

C++ XDevAPI 多个 .values

使用 SSL 和 X 协议的 NodeJS mysql/xdevapi '访问被拒绝'