首页 > 解决方案 > XDevApi 如何发回 .insert() 的结果

问题描述

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

在此处输入图像描述

标签: node.jsmysql-x-devapi

解决方案


你不能,因为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 的主要开发人员


推荐阅读