#node.js #mongodb #discord #discord.js
#node.js #mongodb #Discord #discord.js
Вопрос:
Это модель:
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) в определенной переменной.
Комментарии:
1. Чтобы было понятно, вы получаете массив объектов из базы данных, верно?
2. @AnujPancholi да
Ответ №1:
Кажется, вы получаете массив объектов из вашей базы данных в del
переменной, и каждый объект в этом массиве имеет свойства roletoad
, roletoremove
и rolelevel
, которые вы хотите в отдельных переменных.
Для каждого объекта вашего массива вы можете сохранить эти свойства в переменных путем деструктурирования объекта. Один из подходов заключается в следующем:
//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
}
ПРИМЕЧАНИЕ: Это должно быть само собой разумеющимся, но область действия этих переменных будет действительна только в этом цикле.