获取多行返回未定义的续集

Posted

技术标签:

【中文标题】获取多行返回未定义的续集【英文标题】:Fetching multiple rows returns Undefined Sequelize 【发布时间】:2021-07-10 16:09:29 【问题描述】:

我正在尝试使用 Discord.JS 和 Sequelize 为不和谐机器人编写警告系统。保存警告有效,但获取无效。

async function warnGet() 
            let msgArgs = message.content.split(" ");
            var ReportID = Math.floor(1000 + Math.random() * 9000);
            let messageReason = msgArgs[2]
              ? message.content.substring(
                  msgArgs.slice(0, 3).join(" ").length + 1
                )
              : "No reason provided";
            (async () => 
              try 
                let userTag = member.user.tag;
                let warningYes = JSON.stringify(
                  await moderationLogging.findAll(
                    where: 
                      Member: userTag,
                    ,
                  ),
                   raw: true 
                );
                warningYes = JSON.parse(warningYes);
                const faqembed = new MessageEmbed()
                  .setColor("#ff9100")
                  .addField(
                    `Reason: $warningYes.Reason`,
                    `Report ID: $warningYes.ReprtID`
                  )
                  .setAuthor(
                    member.user.username,
                    member.user.displayAvatarURL(
                      format: "jpg",
                      dynamic: "true",
                    )
                  );
                warningYes.forEach((e) => 
                  faqembed.addField(
                    `Reason: $warningYes.Reason`,
                    `Report ID: $warningYes.ReprtID`
                  );
                );
                message.channel.send(faqembed);
               catch (error) 
                message.channel.send(
                  `Aw maaaaan. I couldn't do the thing I needed to do. <@388813100964642816> should prob know about this. The technical stuff\` \`\`\`xl\n$clean(
                    error
                  )\n\`\`\``
                );
                console.log(error);
              
            )();
          

这个代码在运行时返回这个 This leads to the result.

我不知道为什么。任何帮助,将不胜感激。 这些是它试图获取的条目Image

【问题讨论】:

【参考方案1】:

更新!所以,我实际上是自己解决的!而不是做

               warningYes = JSON.parse(warningYes);
                const faqembed = new MessageEmbed()
                  .setColor("#ff9100")
                  .addField(
                    `Reason: $warningYes.Reason`,
                    `Report ID: $warningYes.ReprtID`
                  )

我做了这个

                const warning = JSON.parse(warningYes);
                const faqembed = new MessageEmbed()
                  .setColor("#ff9100")
                  .addField(
                    `Reason: $warning[0].Reason`,
                    `Report ID: $warning[0].ReprtID`
                  )
                  .setAuthor(
                    member.user.username,
                    member.user.displayAvatarURL(
                      format: "jpg",
                      dynamic: "true",
                    )
                  );

如果您需要知道,我在其末尾添加了 [0]。原来这就是我所需要的。现在已经修好了,是的!

【讨论】:

以上是关于获取多行返回未定义的续集的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:无法读取未定义的属性“findAll”(expressjs)

导入时获取返回未定义

在 React 的 useEffect() 中获取数据返回“未定义”

无法从 JSON 获取某些数据,返回未定义的 Angular 6

未定义的变量:文件(多行)[重复]

从 url 获取参数返回“参数未定义”