Skip to content

Partial query build giving string output  #945

Open
@arrafi-ahmed

Description

@arrafi-ahmed

Trying to build partial query while working with jsonb, but its printing string in inserted row:

exports.updateEntityLastCount = async ({ pairs, tournamentId }) => {
const keys = Object.keys(pairs);
const vals = Object.values(pairs).map(
(value, index) =>
((entity_last_count ->> ${keys[index]})::int + ${value})::text,
);
const keyArray = sql${keys.join(", ")};
const valArray = sql${vals.join(", ")};

return sql UPDATE tournaments SET entity_last_count = entity_last_count || jsonb_object( ARRAY[${keyArray}], ARRAY[${valArray}]) WHERE id = ${tournamentId};;
};

DB inserted row:
{"group": 1, "match": 1, "phase": "((entity_last_count ->> phase)::int + 1)::text", "bracket": 1}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions