【问题标题】:how to put mongodb items in variables for discord bot?如何将mongodb项目放入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 是的

标签: node.js mongodb discord discord.js


【解决方案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
  
  }

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

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 2023-04-07
    • 2019-04-08
    • 2020-12-31
    • 1970-01-01
    • 2021-10-29
    • 2018-07-24
    • 2021-02-03
    • 1970-01-01
    相关资源
    最近更新 更多