如何解决从承诺的 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);
}
本质上,我试图返回某种二元选项(真/假),如果在表的“val”列中找到“testValue”,则将 inDatabase 设置为一件事,如果在表的“val”列中找到另一件事,则设置为另一件事'不。我试着调整这个:
Check value if exists in column
但我一直在返回一个对象,而不是它所说的应该返回的真/假...感谢所有帮助!
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}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。