Javascript 如何使用节点postgres从数据库中获取值
我很难从数据库表中获取列值。 以下是输出,而不是值: 我试着用控制台记录变量,它们输出正确。以下是console.log结果:Javascript 如何使用节点postgres从数据库中获取值,javascript,node.js,postgresql,discord.js,node-postgres,Javascript,Node.js,Postgresql,Discord.js,Node Postgres,我很难从数据库表中获取列值。 以下是输出,而不是值: 我试着用控制台记录变量,它们输出正确。以下是console.log结果: 2021-04-09T07:12:36.896383+00:00 app[worker.1]: Result { 2021-04-09T07:12:36.896396+00:00 app[worker.1]: command: 'SELECT', 2021-04-09T07:12:36.896396+00:00 app[worker.1]: rowCount:
2021-04-09T07:12:36.896383+00:00 app[worker.1]: Result {
2021-04-09T07:12:36.896396+00:00 app[worker.1]: command: 'SELECT',
2021-04-09T07:12:36.896396+00:00 app[worker.1]: rowCount: 1,
2021-04-09T07:12:36.896396+00:00 app[worker.1]: oid: null,
2021-04-09T07:12:36.896398+00:00 app[worker.1]: rows: [ { name: 'carryminati' } ],
2021-04-09T07:12:36.896399+00:00 app[worker.1]: fields: [
2021-04-09T07:12:36.896399+00:00 app[worker.1]: Field {
2021-04-09T07:12:36.896400+00:00 app[worker.1]: name: 'name',
2021-04-09T07:12:36.896400+00:00 app[worker.1]: tableID: 16732955,
2021-04-09T07:12:36.896400+00:00 app[worker.1]: columnID: 3,
2021-04-09T07:12:36.896401+00:00 app[worker.1]: dataTypeID: 1043,
2021-04-09T07:12:36.896401+00:00 app[worker.1]: dataTypeSize: -1,
2021-04-09T07:12:36.896401+00:00 app[worker.1]: dataTypeModifier: 22,
2021-04-09T07:12:36.896402+00:00 app[worker.1]: format: 'text'
2021-04-09T07:12:36.896402+00:00 app[worker.1]: }
2021-04-09T07:12:36.896403+00:00 app[worker.1]: ],
2021-04-09T07:12:36.896403+00:00 app[worker.1]: _parsers: [ [Function: noParse] ],
2021-04-09T07:12:36.896403+00:00 app[worker.1]: _types: TypeOverrides {
2021-04-09T07:12:36.896404+00:00 app[worker.1]: _types: {
2021-04-09T07:12:36.896404+00:00 app[worker.1]: getTypeParser: [Function: getTypeParser],
2021-04-09T07:12:36.896404+00:00 app[worker.1]: setTypeParser: [Function: setTypeParser],
2021-04-09T07:12:36.896405+00:00 app[worker.1]: arrayParser: [Object],
2021-04-09T07:12:36.896405+00:00 app[worker.1]: builtins: [Object]
2021-04-09T07:12:36.896406+00:00 app[worker.1]: },
2021-04-09T07:12:36.896406+00:00 app[worker.1]: text: {},
2021-04-09T07:12:36.896406+00:00 app[worker.1]: binary: {}
2021-04-09T07:12:36.896407+00:00 app[worker.1]: },
2021-04-09T07:12:36.896407+00:00 app[worker.1]: RowCtor: null,
2021-04-09T07:12:36.896408+00:00 app[worker.1]: rowAsArray: false
2021-04-09T07:12:36.896408+00:00 app[worker.1]: } Result {
2021-04-09T07:12:36.896408+00:00 app[worker.1]: command: 'SELECT',
2021-04-09T07:12:36.896409+00:00 app[worker.1]: rowCount: 1,
2021-04-09T07:12:36.896409+00:00 app[worker.1]: oid: null,
2021-04-09T07:12:36.896409+00:00 app[worker.1]: rows: [ { botsay: 'Hey @everyone' } ],
2021-04-09T07:12:36.896410+00:00 app[worker.1]: fields: [
2021-04-09T07:12:36.896410+00:00 app[worker.1]: Field {
2021-04-09T07:12:36.896410+00:00 app[worker.1]: name: 'botsay',
2021-04-09T07:12:36.896411+00:00 app[worker.1]: tableID: 16732955,
2021-04-09T07:12:36.896411+00:00 app[worker.1]: columnID: 2,
2021-04-09T07:12:36.896412+00:00 app[worker.1]: dataTypeID: 1043,
2021-04-09T07:12:36.896412+00:00 app[worker.1]: dataTypeSize: -1,
2021-04-09T07:12:36.896412+00:00 app[worker.1]: dataTypeModifier: 24,
2021-04-09T07:12:36.896413+00:00 app[worker.1]: format: 'text'
2021-04-09T07:12:36.896413+00:00 app[worker.1]: }
2021-04-09T07:12:36.896413+00:00 app[worker.1]: ],
2021-04-09T07:12:36.896414+00:00 app[worker.1]: _parsers: [ [Function: noParse] ],
2021-04-09T07:12:36.896414+00:00 app[worker.1]: _types: TypeOverrides {
2021-04-09T07:12:36.896415+00:00 app[worker.1]: _types: {
2021-04-09T07:12:36.896415+00:00 app[worker.1]: getTypeParser: [Function: getTypeParser],
2021-04-09T07:12:36.896415+00:00 app[worker.1]: setTypeParser: [Function: setTypeParser],
2021-04-09T07:12:36.896416+00:00 app[worker.1]: arrayParser: [Object],
2021-04-09T07:12:36.896416+00:00 app[worker.1]: builtins: [Object]
2021-04-09T07:12:36.896416+00:00 app[worker.1]: },
2021-04-09T07:12:36.896417+00:00 app[worker.1]: text: {},
2021-04-09T07:12:36.896417+00:00 app[worker.1]: binary: {}
2021-04-09T07:12:36.896417+00:00 app[worker.1]: },
2021-04-09T07:12:36.896418+00:00 app[worker.1]: RowCtor: null,
2021-04-09T07:12:36.896418+00:00 app[worker.1]: rowAsArray: false
2021-04-09T07:12:36.896418+00:00 app[worker.1]: } Result {
2021-04-09T07:12:36.896419+00:00 app[worker.1]: command: 'SELECT',
2021-04-09T07:12:36.896419+00:00 app[worker.1]: rowCount: 1,
2021-04-09T07:12:36.896419+00:00 app[worker.1]: oid: null,
2021-04-09T07:12:36.896421+00:00 app[worker.1]: rows: [ { channelid: '770245428876148736' } ],
2021-04-09T07:12:36.896421+00:00 app[worker.1]: fields: [
2021-04-09T07:12:36.896421+00:00 app[worker.1]: Field {
2021-04-09T07:12:36.896422+00:00 app[worker.1]: name: 'channelid',
2021-04-09T07:12:36.896423+00:00 app[worker.1]: tableID: 16732955,
2021-04-09T07:12:36.896423+00:00 app[worker.1]: columnID: 4,
2021-04-09T07:12:36.896424+00:00 app[worker.1]: dataTypeID: 1043,
2021-04-09T07:12:36.896424+00:00 app[worker.1]: dataTypeSize: -1,
2021-04-09T07:12:36.896424+00:00 app[worker.1]: dataTypeModifier: 41,
2021-04-09T07:12:36.896425+00:00 app[worker.1]: format: 'text'
2021-04-09T07:12:36.896425+00:00 app[worker.1]: }
2021-04-09T07:12:36.896426+00:00 app[worker.1]: ],
2021-04-09T07:12:36.896426+00:00 app[worker.1]: _parsers: [ [Function: noParse] ],
2021-04-09T07:12:36.896426+00:00 app[worker.1]: _types: TypeOverrides {
2021-04-09T07:12:36.896427+00:00 app[worker.1]: _types: {
2021-04-09T07:12:36.896427+00:00 app[worker.1]: getTypeParser: [Function: getTypeParser],
2021-04-09T07:12:36.896427+00:00 app[worker.1]: setTypeParser: [Function: setTypeParser],
2021-04-09T07:12:36.896428+00:00 app[worker.1]: arrayParser: [Object],
2021-04-09T07:12:36.896428+00:00 app[worker.1]: builtins: [Object]
2021-04-09T07:12:36.896428+00:00 app[worker.1]: },
2021-04-09T07:12:36.896429+00:00 app[worker.1]: text: {},
2021-04-09T07:12:36.896429+00:00 app[worker.1]: binary: {}
2021-04-09T07:12:36.896429+00:00 app[worker.1]: },
2021-04-09T07:12:36.896430+00:00 app[worker.1]: RowCtor: null,
2021-04-09T07:12:36.896430+00:00 app[worker.1]: rowAsArray: false
2021-04-09T07:12:36.896431+00:00 app[worker.1]: } Result {
2021-04-09T07:12:36.896431+00:00 app[worker.1]: command: 'SELECT',
2021-04-09T07:12:36.896432+00:00 app[worker.1]: rowCount: 1,
2021-04-09T07:12:36.896432+00:00 app[worker.1]: oid: null,
2021-04-09T07:12:36.896432+00:00 app[worker.1]: rows: [ { channel: 'manager-test' } ],
2021-04-09T07:12:36.896433+00:00 app[worker.1]: fields: [
2021-04-09T07:12:36.896433+00:00 app[worker.1]: Field {
2021-04-09T07:12:36.896434+00:00 app[worker.1]: name: 'channel',
2021-04-09T07:12:36.896434+00:00 app[worker.1]: tableID: 16732955,
2021-04-09T07:12:36.896434+00:00 app[worker.1]: columnID: 5,
2021-04-09T07:12:36.896435+00:00 app[worker.1]: dataTypeID: 1043,
2021-04-09T07:12:36.896435+00:00 app[worker.1]: dataTypeSize: -1,
2021-04-09T07:12:36.896435+00:00 app[worker.1]: dataTypeModifier: 34,
2021-04-09T07:12:36.896436+00:00 app[worker.1]: format: 'text'
2021-04-09T07:12:36.896436+00:00 app[worker.1]: }
2021-04-09T07:12:36.896436+00:00 app[worker.1]: ],
2021-04-09T07:12:36.896437+00:00 app[worker.1]: _parsers: [ [Function: noParse] ],
2021-04-09T07:12:36.896437+00:00 app[worker.1]: _types: TypeOverrides {
2021-04-09T07:12:36.896438+00:00 app[worker.1]: _types: {
2021-04-09T07:12:36.896438+00:00 app[worker.1]: getTypeParser: [Function: getTypeParser],
2021-04-09T07:12:36.896438+00:00 app[worker.1]: setTypeParser: [Function: setTypeParser],
2021-04-09T07:12:36.896439+00:00 app[worker.1]: arrayParser: [Object],
2021-04-09T07:12:36.896440+00:00 app[worker.1]: builtins: [Object]
2021-04-09T07:12:36.896440+00:00 app[worker.1]: },
2021-04-09T07:12:36.896440+00:00 app[worker.1]: text: {},
2021-04-09T07:12:36.896441+00:00 app[worker.1]: binary: {}
2021-04-09T07:12:36.896441+00:00 app[worker.1]: },
2021-04-09T07:12:36.896441+00:00 app[worker.1]: RowCtor: null,
2021-04-09T07:12:36.896442+00:00 app[worker.1]: rowAsArray: false
2021-04-09T07:12:36.896442+00:00 app[worker.1]: } Result {
2021-04-09T07:12:36.896442+00:00 app[worker.1]: command: 'SELECT',
2021-04-09T07:12:36.896443+00:00 app[worker.1]: rowCount: 1,
2021-04-09T07:12:36.896443+00:00 app[worker.1]: oid: null,
2021-04-09T07:12:36.896443+00:00 app[worker.1]: rows: [ { timer: '2' } ],
2021-04-09T07:12:36.896444+00:00 app[worker.1]: fields: [
2021-04-09T07:12:36.896444+00:00 app[worker.1]: Field {
2021-04-09T07:12:36.896444+00:00 app[worker.1]: name: 'timer',
2021-04-09T07:12:36.896445+00:00 app[worker.1]: tableID: 16732955,
2021-04-09T07:12:36.896445+00:00 app[worker.1]: columnID: 6,
2021-04-09T07:12:36.896445+00:00 app[worker.1]: dataTypeID: 25,
2021-04-09T07:12:36.896446+00:00 app[worker.1]: dataTypeSize: -1,
2021-04-09T07:12:36.896447+00:00 app[worker.1]: dataTypeModifier: -1,
2021-04-09T07:12:36.896447+00:00 app[worker.1]: format: 'text'
2021-04-09T07:12:36.896448+00:00 app[worker.1]: }
2021-04-09T07:12:36.896448+00:00 app[worker.1]: ],
2021-04-09T07:12:36.896448+00:00 app[worker.1]: _parsers: [ [Function: noParse] ],
2021-04-09T07:12:36.896449+00:00 app[worker.1]: _types: TypeOverrides {
2021-04-09T07:12:36.896449+00:00 app[worker.1]: _types: {
2021-04-09T07:12:36.896449+00:00 app[worker.1]: getTypeParser: [Function: getTypeParser],
2021-04-09T07:12:36.896450+00:00 app[worker.1]: setTypeParser: [Function: setTypeParser],
2021-04-09T07:12:36.896450+00:00 app[worker.1]: arrayParser: [Object],
2021-04-09T07:12:36.896451+00:00 app[worker.1]: builtins: [Object]
2021-04-09T07:12:36.896451+00:00 app[worker.1]: },
2021-04-09T07:12:36.896451+00:00 app[worker.1]: text: {},
2021-04-09T07:12:36.896452+00:00 app[worker.1]: binary: {}
2021-04-09T07:12:36.896452+00:00 app[worker.1]: },
2021-04-09T07:12:36.896452+00:00 app[worker.1]: RowCtor: null,
2021-04-09T07:12:36.896453+00:00 app[worker.1]: rowAsArray: false
2021-04-09T07:12:36.896453+00:00 app[worker.1]: } Result {
2021-04-09T07:12:36.896453+00:00 app[worker.1]: command: 'SELECT',
2021-04-09T07:12:36.896454+00:00 app[worker.1]: rowCount: 1,
2021-04-09T07:12:36.896454+00:00 app[worker.1]: oid: null,
2021-04-09T07:12:36.896454+00:00 app[worker.1]: rows: [ { savedname: 'iTxKniGhT' } ],
2021-04-09T07:12:36.896455+00:00 app[worker.1]: fields: [
2021-04-09T07:12:36.896455+00:00 app[worker.1]: Field {
2021-04-09T07:12:36.896455+00:00 app[worker.1]: name: 'savedname',
2021-04-09T07:12:36.896456+00:00 app[worker.1]: tableID: 16732955,
2021-04-09T07:12:36.896456+00:00 app[worker.1]: columnID: 7,
2021-04-09T07:12:36.896457+00:00 app[worker.1]: dataTypeID: 1043,
2021-04-09T07:12:36.896457+00:00 app[worker.1]: dataTypeSize: -1,
2021-04-09T07:12:36.896457+00:00 app[worker.1]: dataTypeModifier: 24,
2021-04-09T07:12:36.896458+00:00 app[worker.1]: format: 'text'
2021-04-09T07:12:36.896458+00:00 app[worker.1]: }
2021-04-09T07:12:36.896458+00:00 app[worker.1]: ],
2021-04-09T07:12:36.896459+00:00 app[worker.1]: _parsers: [ [Function: noParse] ],
2021-04-09T07:12:36.896459+00:00 app[worker.1]: _types: TypeOverrides {
2021-04-09T07:12:36.896459+00:00 app[worker.1]: _types: {
2021-04-09T07:12:36.896460+00:00 app[worker.1]: getTypeParser: [Function: getTypeParser],
2021-04-09T07:12:36.896460+00:00 app[worker.1]: setTypeParser: [Function: setTypeParser],
2021-04-09T07:12:36.896460+00:00 app[worker.1]: arrayParser: [Object],
2021-04-09T07:12:36.896461+00:00 app[worker.1]: builtins: [Object]
2021-04-09T07:12:36.896461+00:00 app[worker.1]: },
2021-04-09T07:12:36.896461+00:00 app[worker.1]: text: {},
2021-04-09T07:12:36.896462+00:00 app[worker.1]: binary: {}
2021-04-09T07:12:36.896462+00:00 app[worker.1]: },
2021-04-09T07:12:36.896462+00:00 app[worker.1]: RowCtor: null,
2021-04-09T07:12:36.896463+00:00 app[worker.1]: rowAsArray: false
2021-04-09T07:12:36.896463+00:00 app[worker.1]: } Result {
2021-04-09T07:12:36.896464+00:00 app[worker.1]: command: 'SELECT',
2021-04-09T07:12:36.896464+00:00 app[worker.1]: rowCount: 1,
2021-04-09T07:12:36.896464+00:00 app[worker.1]: oid: null,
2021-04-09T07:12:36.896465+00:00 app[worker.1]: rows: [
2021-04-09T07:12:36.896465+00:00 app[worker.1]: {
2021-04-09T07:12:36.896466+00:00 app[worker.1]: savedavatar: 'https://cdn.discordapp.com/avatars/410095697233313793/4015931f11053def4ef540d0731690cc.webp'
2021-04-09T07:12:36.896467+00:00 app[worker.1]: }
2021-04-09T07:12:36.896467+00:00 app[worker.1]: ],
2021-04-09T07:12:36.896467+00:00 app[worker.1]: fields: [
2021-04-09T07:12:36.896468+00:00 app[worker.1]: Field {
2021-04-09T07:12:36.896468+00:00 app[worker.1]: name: 'savedavatar',
2021-04-09T07:12:36.896468+00:00 app[worker.1]: tableID: 16732955,
2021-04-09T07:12:36.896469+00:00 app[worker.1]: columnID: 8,
2021-04-09T07:12:36.896469+00:00 app[worker.1]: dataTypeID: 1043,
2021-04-09T07:12:36.896469+00:00 app[worker.1]: dataTypeSize: -1,
2021-04-09T07:12:36.896470+00:00 app[worker.1]: dataTypeModifier: 504,
2021-04-09T07:12:36.896471+00:00 app[worker.1]: format: 'text'
2021-04-09T07:12:36.896471+00:00 app[worker.1]: }
2021-04-09T07:12:36.896471+00:00 app[worker.1]: ],
2021-04-09T07:12:36.896471+00:00 app[worker.1]: _parsers: [ [Function: noParse] ],
2021-04-09T07:12:36.896472+00:00 app[worker.1]: _types: TypeOverrides {
2021-04-09T07:12:36.896472+00:00 app[worker.1]: _types: {
2021-04-09T07:12:36.896482+00:00 app[worker.1]: getTypeParser: [Function: getTypeParser],
2021-04-09T07:12:36.896482+00:00 app[worker.1]: setTypeParser: [Function: setTypeParser],
2021-04-09T07:12:36.896483+00:00 app[worker.1]: arrayParser: [Object],
2021-04-09T07:12:36.896483+00:00 app[worker.1]: builtins: [Object]
2021-04-09T07:12:36.896483+00:00 app[worker.1]: },
2021-04-09T07:12:36.896484+00:00 app[worker.1]: text: {},
2021-04-09T07:12:36.896484+00:00 app[worker.1]: binary: {}
2021-04-09T07:12:36.896484+00:00 app[worker.1]: },
2021-04-09T07:12:36.896485+00:00 app[worker.1]: RowCtor: null,
2021-04-09T07:12:36.896485+00:00 app[worker.1]: rowAsArray: false
2021-04-09T07:12:36.896486+00:00 app[worker.1]: }
这是完整的代码存储库-
下面是负责获取过程的变量代码行
const tname=wait pool.query`SELECT name FROM Twitch_DB WHERE guildid=${message.guild.id}`;
const botSay=wait pool.query`从Twitch_DB中选择botSay,其中guildid=${message.guild.id}`;
const tchannelid=wait pool.query`从Twitch_DB中选择channelID,其中guildid=${message.guild.id}`;
const tchannel=wait pool.query`SELECT channel FROM Twitch_DB WHERE guildid=${message.guild.id}`;
const ttimer=wait pool.query`SELECT timer FROM Twitch_DB WHERE guildid=${message.guild.id}`;
const savedName=wait pool.query`SELECT savedName FROM Twitch_DB WHERE guildid=${message.guild.id}`;
const savedAvatar=wait pool.query`SELECT savedAvatar FROM Twitch_DB WHERE guildid=${message.guild.id}`;
这是我试图调用变量的代码块:
const enabledEmbed=新消息嵌入
.setAuthormessage.member.guild.name+播音员设置`https://static.twitchcdn.net/assets/favicon-32-d6025c14e900565d6177.png`, https://twitch.tv/ +user.data[0]。显示\u名称
.setTitle`:white\u check\u mark:Twitch播音器已启用`
.setColor6441A4
.setThumbnailuser.data[0]。配置文件\u图像\u url
.addFieldPre通知消息,`${botSay}`
.addField`Streamer`、`${tname}`,true
.addField`Channel`、`${tchannel}`,true
.addField `检查间隔',`***${ttimer}***分钟',true
.addFieldView计数器:,用户.data[0]。视图计数,true;
如果user.data[0].broadcaster_type==enabledEmbed.addFieldRank:,BASE!,符合事实的
否则{
enabledEmbed.addFieldRank:,user.data[0]。广播者_type.toUpperCase+!,true.setFootersavedName,savedAvatar;
}
检索到的数据库行位于您记录的响应对象的rows属性中。这已经涵盖了。@JaredSmith所以,如果我像这样更改代码.addFieldPre-Notification消息,${botSay.rows[0].botSay},它会工作吗?@JaredSmith谢谢你的提示。让我哑口无言