Проверка наличия значения в столбце базы данных из обещанного запроса Postgres

Вот мой код:

const util = require('util')
const { Client } = require('pg');

const db = new Client({
  connectionString: process.env.DATABASE_URL,
  ssl: {
    rejectUnauthorized: false
  }
});

db.connect();

const queryP = util.promisify(db.query)

async function doStuff() {
  let inDatabase = await queryP.call(db, 'SELECT EXISTS(SELECT 1 FROM searchtable WHERE val = $1) AS it_does_exist', [testValue]);
  console.log("In the Database: " + inDatabase);
}

По сути, я пытаюсь вернуть какую-то двоичную опцию (true/false), где для inDatabase установлено одно, если «testValue» находится в столбце «val» таблицы, и другое, если это не так. Я попытался адаптировать это:

Проверить значение, если оно существует в столбце

но я продолжаю возвращать объект, вместо true/false он говорит, что он должен быть возвращен... спасибо за любую помощь!

Вывод JSON.stringify():

2021-05-10T22:26:17.723899+00:00 app[web.1]: In the Database: {"command":"SELECT","rowCount":1,"oid":null,"rows":[{"it_does_exist":false}],"fields":[{"name":"it_does_exist","tableID":0,"columnID":0,"dataTypeID":16,"dataTypeSize":1,"dataTypeModifier":-1,"format":"text"}],"_parsers":[null],"_types":{"_types":{"arrayParser":{},"builtins":{"BOOL":16,"BYTEA":17,"CHAR":18,"INT8":20,"INT2":21,"INT4":23,"REGPROC":24,"TEXT":25,"OID":26,"TID":27,"XID":28,"CID":29,"JSON":114,"XML":142,"PG_NODE_TREE":194,"SMGR":210,"PATH":602,"POLYGON":604,"CIDR":650,"FLOAT4":700,"FLOAT8":701,"ABSTIME":702,"RELTIME":703,"TINTERVAL":704,"CIRCLE":718,"MACADDR8":774,"MONEY":790,"MACADDR":829,"INET":869,"ACLITEM":1033,"BPCHAR":1042,"VARCHAR":1043,"DATE":1082,"TIME":1083,"TIMESTAMP":1114,"TIMESTAMPTZ":1184,"INTERVAL":1186,"TIMETZ":1266,"BIT":1560,"VARBIT":1562,"NUMERIC":1700,"REFCURSOR":1790,"REGPROCEDURE":2202,"REGOPER":2203,"REGOPERATOR":2204,"REGCLASS":2205,"REGTYPE":2206,"UUID":2950,"TXID_SNAPSHOT":2970,"PG_LSN":3220,"PG_NDISTINCT":3361,"PG_DEPENDENCIES":3402,"TSVECTOR":3614,"TSQUERY":3615,"GTSVECTOR":3642,"REGCONFIG":3734,"REGDICTIONARY":3769,"JSONB":3802,"REGNAMESPACE":4089,"REGROLE":4096}},"text":{},"binary":{}},"RowCtor":null,"rowAsArray":false}

person nickcoding2    schedule 10.05.2021    source источник
comment
Почему бы вам не попробовать напечатать JSON.stringify(inDatabase) и посмотреть, что будет возвращено?   -  person Nir Alfasi    schedule 11.05.2021
comment
@NirAlfasi Итак ... на основе разграниченной версии (я указал ее в вопросе), могу ли я получить доступ к значению it_does_exist с помощью inDatabase.rows[0].it_does_exist ?   -  person nickcoding2    schedule 11.05.2021
comment
Используйте выражение SQL EXISTS (/* subquery */). Вероятно, есть какой-то способ, чтобы ваш уровень обфускации генерировал это.   -  person Laurenz Albe    schedule 11.05.2021
comment
@ nickcoding2 да, когда вы запускаете SELECT, вы возвращаете массив результатов под inDatabase.rows, в вашем случае у вас есть только один результат, потому что вы проверяете существование. Надеюсь, поможет!   -  person Nir Alfasi    schedule 11.05.2021