更新失败的Knexjs

问题描述

我正在尝试使用Knex的update方法数据库中的特定行进行更新。我的命令返回成功,但是当我查看数据库时,没有任何更改。

这是我的代码

async multipleConciliation(request,response) {

        try {
            
            const dataMultiples = request.body;
            const idConciliation = request.params;
            const dataToken = decoded(request.headers.authorization);
            const usuario = dataToken.id;
            const empresa = dataToken.empresa;

            await connection('fluxo_caixa').where('id','=',idConciliation).update({ativo: 0});

            const newTransitions = dataMultiples.map((i)=>{
                return {

                    usuario_id: usuario,empresa_id: empresa,fc_banco_id: i.fc_banco_id,data_extrato: i.data_extrato,valor_extrato: i.valor_extrato,tipo_extrato: i.tipo_extrato,historico_extrato: i.historico_extrato,tipo_conciliacao: i.tipo_conciliacao,historico_conciliacao: i.historico_conciliacao,nf: i.nf,fc_categoria_id: i.fc_categoria_id,fc_terceiro_id: i.fc_terceiro_id,fc_parent: idConciliation,}
            });

async multipleConciliation(request,}
            });

            await connection('fluxo_caixa').insert(newTransitions);

            return response.status(200).send({ok: 'Conciliacion success'});

进行新插入的部分代码可以正常工作,但更新方法不会更新数据库

解决方法

我设法找到错误。在为变量idConciliation分配值时,需要指定请求对象的索引,即id。

正确的是:

const idConciliation = request.params.id;