如何将mongodb项目放入discord bot的变量中?

Posted

技术标签:

【中文标题】如何将mongodb项目放入discord bot的变量中?【英文标题】:how to put mongodb items in variables for discord bot? 【发布时间】:2021-01-02 05:31:35 【问题描述】:

这是模型:

Schema = mongoose.Schema;

module.exports = mongoose.model(
    "Leveling",
    new Schema(
      guildID:  
          type: String
      ,
      guildName: 
          type: String
      ,
      roletoad: 
          type: String,
          default: "null"
      ,
      roletoremove: 
          type: String,
          default: "null"
      ,
      rolelevel: 
          type: Number,
          default: 0
      ,
    )
  );

这是获取特定公会所有升级角色的命令:

if(args[0]==="list")
    const del = await Leveling.find(
        guildID: message.guild.id,
    , 
        _id: 0,
        roletoad: 1,
        roletoremove: 1,
        rolelevel:1
    )
        
    return await message.channel.send(del)


这是输出:


  roletoad: '735106092308103278',
  roletoremove: '731561814407774248',
  rolelevel: 5


  roletoad: '735598034385371167',
  roletoremove: '744562691817078905',
  rolelevel: 7

我想知道如何获取特定变量中的每个项目(roletoad,roletoremove,rolelevel)。

【问题讨论】:

明确地说,您从数据库中获取了一组对象,对吧? @AnujPancholi 是的 【参考方案1】:

您似乎在del 变量中从您的数据库中获取了一个对象数组,并且该数组中的每个对象都具有属性roletoadroletoremoverolelevel,您希望这些属性位于单独的变量中.

对于数组的每个对象,您可以通过对象destructuring 将这些属性存储在变量中。一种方法如下:

//the data you'll get from the db
const del = [
  roletoad: '735106092308103278',
  roletoremove: '731561814407774248',
  rolelevel: 5
,

  roletoad: '735598034385371167',
  roletoremove: '744562691817078905',
  rolelevel: 7
]


for(const 
  roletoad: yourRoleToAddVar,
  roletoremove: yourRoleToRemoveVar,
  rolelevel: yourRoleToLevelVar
   of del)
  
  console.log(`Role to add: $yourRoleToAddVar`)
  console.log(`Role to remove: $yourRoleToRemoveVar`)
  console.log(`Role Level: $yourRoleToLevelVar`)
  console.log(`---------------------------`)
  //do what you want with these variables here
  
  

注意:这是不言而喻的,但这些变量的范围仅在此循环内有效。

【讨论】:

以上是关于如何将mongodb项目放入discord bot的变量中?的主要内容,如果未能解决你的问题,请参考以下文章

在 Discord.js 和 MySQL 中注册命令

Discord Bot 类引发类型错误

如何使用 discord.js 从 discord bot 向特定用户发送消息

如何将多个参数插入discord bot命令python

discord.py bot 正确构建在 heroku 上,但显示脱机

如何获取 Bot 消息 ID 并编辑消息 - Discord JDA Java