【问题标题】:SequelizeJS - insert JSONB to Postgres with raw query - how to escapeSequelizeJS - 使用原始查询将 JSONB 插入 Postgres - 如何转义
【发布时间】:2017-09-30 07:09:41
【问题描述】:

我想插入一行 JSONB 内容作为原始查询。问题是,无论我在哪里插入任何“非平凡”的 JSON 对象,都会出错。

这些是我的原始 SQL 查询示例:

所有这些错误:SequelizeBaseError: json 类型的输入语法无效

'INSERT INTO "sometable" ("id", "createdAt", "updatedAt", "custom_data") VALUES (DEFAULT, NOW(), NOW(), \'"{something:\"value\"}"\')';
'INSERT INTO "sometable" ("id", "createdAt", "updatedAt", "custom_data") VALUES (DEFAULT, NOW(), NOW(), \'"{\"aaa\":\"ss15\"}"\')';

最后一个有效,但仅适用于整数值:

'INSERT INTO "sometable" ("id", "createdAt", "updatedAt", "custom_data") VALUES (DEFAULT, NOW(), NOW(), \'"{a:10}"\')';

我已经尝试了很多可能的转义类似 JSON 的字符串的组合,甚至插入真正的 JS 对象,但没有任何效果。

【问题讨论】:

    标签: node.js postgresql sequelize.js


    【解决方案1】:

    先尝试JSON.stringify()

    var customData = JSON.stringify({"name":"George Washington","presidentNo":1});
    

    【讨论】:

      猜你喜欢
      • 2018-02-13
      • 2016-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-13
      • 2019-03-14
      • 1970-01-01
      相关资源
      最近更新 更多