【问题标题】:Converting circular structure to JSON at Object.stringify (native) Knex Postgresql在 Object.stringify (native) Knex Postgresql 中将循环结构转换为 JSON
【发布时间】:2016-05-22 18:28:44
【问题描述】:

我有一张我的 postgresql 数据库的基本表。我可以插入数据,但不能更新它们。

projects
--id
--name

var db = require('knex')(config.posgresql);

db("projects").update({ name : 'bbb'}).then(function(value){
              console.log(value);
});

当我运行它抛出的代码和错误提示

未处理的拒绝类型错误:将循环结构转换为 JSON 在 Object.stringify (本机) 在 QueryBuilder.Object.cloneIt (/home/barisv/king-server/helpers/extensions.js:406:28) 在 Formatter.compileCallback (/home/barisv/king-server/node_modules/knex/lib/formatter.js:123:14) 在 Formatter.parameter (/home/barisv/king-server/node_modules/knex/lib/formatter.js:45:36)

但是当我运行下面的代码时它可以工作。

db("projects").insert({ name : 'bbb'}).then(function(value){
                console.log(value);
              });

有什么问题?

【问题讨论】:

    标签: node.js postgresql ubuntu knex.js


    【解决方案1】:

    您的代码缺少where 条件。 knex 更新遵循此语法

    knex('books')
      .where('published_date', '<', 2000)
      .update({
        status: 'archived',
        thisKeyIsSkipped: undefined
      })
    

    【讨论】:

    • 文档在哪里说的?
    • 您需要一个条件或约束来选择要更新的行吗?代码可在 knexjs.org 网站上找到。
    • 如果我不放任何 where 条件,它应该更新该表中的所有行,对吗?就像经典的 sql 一样。我也找不到任何说明您需要条件或约束的信息。
    • knex 真的支持thisKeyIsSkipped 吗?我以为是thisKeyIsSkippedForAllICare :) LOL。
    猜你喜欢
    • 2016-12-13
    • 2016-01-11
    • 1970-01-01
    • 2017-04-03
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多