PostgreSQL查询没有为每个插入值

时间:2017-10-03 16:47:16

标签: node.js postgresql heroku discord

我试图将每个公会的ID和名称放入Discord聊天机器人处理到PGSQL数据库表中。我使用Discord.js module及其client.guilds(一个JS Map对象)和forEach方法来重复每个服务器名称和id的每个PGSQL查询。在我运行该过程(我通过部署我的机器人正在运行的Heroku应用程序执行此操作)之后,我使用PGadmin来渲染表格,这是我的GitHub文件中写入的查询(我的github)链接到heroku部署)。

这是我的代码:

client.guilds.forEach(function (value, key) {
  con.query('INSERT INTO Servers (name, id) VALUES (\'' + value.name.toString() + '\', ' + key.valueOf() + ');', (err, res) => {
    console.log(res);
    console.log(err);
  });
});

我的问题是,在部署应用程序后,每个不和谐服务器名称和ID都不会插入各自的列中。

1 个答案:

答案 0 :(得分:0)

我已经通过在机器人登录Discord后插入此代码来修复我的问题。因为机器人在与Discord API连接之前无法检索任何信息,所以首先不会加载查询,因为客户端无法访问公会信息。 我决定将它放在我的client.ready事件中并且它有效!

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
  client.guilds.forEach(function (value, key) {
    con.query('INSERT INTO Servers (name, id) VALUES (\'' + value.toString() + '\', ' + key.valueOf() + ');', (err, res) => {
      console.log(res);
      console.log(err);
    });
  });
  con.end();
});