Сбой обновления Knexjs

#javascript #node.js #express #knex.js

#javascript #node.js #экспресс #knex.js

Вопрос:

Я пытаюсь выполнить обновление определенной строки в моей базе данных, используя метод обновления Knex. Мой возврат из моей команды прошел успешно, но когда я просматриваю свою базу данных, никаких изменений внесено не было.

Это мой код

 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, 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,

                }
            });

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

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

Часть кода, которая создает новую вставку, работает нормально, но метод обновления, который не обновляет мою базу данных.

Ответ №1:

Мне удалось найти ошибку. Когда я присваивал значение переменной idConciliation, мне нужно было указать индекс моего объекта запроса, который является id.

Правильный:

 const idConciliation = request.params.id;