Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查promisified Postgres查询中的数据库列中是否存在值_Javascript_Node.js_Database_Postgresql_Querying - Fatal编程技术网

Javascript 检查promisified Postgres查询中的数据库列中是否存在值

Javascript 检查promisified Postgres查询中的数据库列中是否存在值,javascript,node.js,database,postgresql,querying,Javascript,Node.js,Database,Postgresql,Querying,这是我的密码: 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) asyn

这是我的密码:

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),其中如果在表的“val”列中找到“testValue”,则将inDatabase设置为一项,如果没有,则将另一项设置为另一项。我试着适应这个:

但我一直得到一个返回的对象,而不是它说的应该返回的真/假…感谢所有的帮助

JSON.stringify()的输出为:


为什么不试着打印JSON.stringify(inDatabase),看看返回了什么?@NirAlfasi那么…基于strinified版本(我把它放在问题中),我是否使用inDatabase.rows[0]访问“it_does_exist”值。它确实存在?使用SQL表达式
EXISTS(/*子查询*/)
。可能有某种方法可以让您的模糊处理层生成该结果。@nickcoding2是的,当您运行
SELECT
时,您会在
inDatabase.rows
下返回一个结果数组,在这种情况下,您只有一个结果,因为您检查了是否存在。希望有帮助!
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}