如何将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
变量中从您的数据库中获取了一个对象数组,并且该数组中的每个对象都具有属性roletoad
、roletoremove
和rolelevel
,您希望这些属性位于单独的变量中.
对于数组的每个对象,您可以通过对象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 从 discord bot 向特定用户发送消息