【问题标题】:JSON as attribute in sequlize not working for PostgresJSON作为sequelize中的属性不适用于Postgres
【发布时间】:2020-04-22 12:06:16
【问题描述】:

我的查询是根据 JSON 从表中获取数据

var jsondata="{'job_media','job_quote','job_invoice', 'job_client','created_by', 'job_status', 'job_source', 'job_job_template_name', 'job_job_template_data'}";
Jobs.findOne({
    attributes: [jsondata],
    where: { job_id: id}
  });

但它不起作用,我们可以更改任何样式的 JSON 数据,但应该是 JSON。

【问题讨论】:

  • 我认为它不是有效的 JSON 数据。

标签: node.js json postgresql express sequelize.js


【解决方案1】:

attributes 选项可以有多个不同的shapes,但看起来您只是想传递一个扁平的字符串数组。

所以你的查询应该是这样的:

Jobs.findOne({
    attributes: ['job_media', 'job_quote', 'job_invoice', 'job_client', 'created_by', 'job_status', 'job_source', 'job_job_template_name', 'job_job_template_data'],
    where: { job_id: id },
});

有关详细信息,请参阅标题为 Specifying attributes for SELECT queries 的部分。

【讨论】:

    【解决方案2】:
    I was wrong with my json.this is right json 
    // a JSON array
    ["one", "two", "three"]
    
    // a JSON object
    { "one": 1, "two": 2, "three": 3 }
    
        Query :
        Jobs.findOne({
            attributes: ['job_media', 'job_quote', 'job_invoice', 'job_client', 'created_by', 'job_status', 'job_source', 'job_job_template_name', 'job_job_template_data'],
            where: { job_id: id },
        });
    

    【讨论】:

      猜你喜欢
      • 2013-07-27
      • 2018-03-06
      • 1970-01-01
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 2016-02-06
      • 2022-01-25
      相关资源
      最近更新 更多