postgresql、knex、向字段添加文本

postgresql、knex、向字段添加文本,postgresql,knex.js,Postgresql,Knex.js,我在节点应用程序和knex中使用postgresql 我想在“存在”字段中添加文本 例如,如果字段的值为“abc”,我想将“DEF”添加到“abc”==>“abcDEF” 在基本SQL中,它是这样的:更新集=[fieldname]+“new text” 这是我的代码,不起作用 var password ={my full object} password.versions = `[versions] || ${password.versions}`; return db('p

我在节点应用程序和knex中使用postgresql

我想在“存在”字段中添加文本

例如,如果字段的值为“abc”,我想将“DEF”添加到“abc”==>“abcDEF”

在基本SQL中,它是这样的:更新集=[fieldname]+“new text” 这是我的代码,不起作用

var password ={my full object}
password.versions = `[versions]  || ${password.versions}`;
        return  db('passwords')
                .where({
                    id: id,
                    deleted: false,
                    active: true
                })
                .update(password);
  • 好的,您基本上正在为此目的寻找操作符
    |
  • knex
    不支持的任何自定义选择/插入/更新逻辑都可以使用编写。或整个查询的事件
  • 完整示例如下:

    const password = {
      // ...rest of the fields
      versions: 'DEF',
    };
    const update = Object.assign({}, password, {
      versions: knex.raw('versions || ?', password.versions)
    })
    const builder = knex('passwords')
      .update(update)
      .where({
        id: id,
        deleted: false,
        active: true
      });
    console.log(builder.toString()); // => update passwords set versions = versions || ? 
    

    找到password.versions=db.raw(
    ?| |'${password.versions}'
    ,['versions']);从…起