Задать вопрос
@DefaultCR

Как вывести данные с массива?

При попытке вывести список учатсников, выходит undefined. Хочу узнать у людей, как получать userID с базы данных правильно
async run(message, args) {
    let toClanNName = args[0]
        let clanTable = await Clan.findOne({ guildID: message.guild.id, clanName: toClanNName });
        if(!clanTable) return(message.reply("Такого клана нету!"));
        const rank = clanTable.members.userRank;
        const id = clanTable.members.userID;
        console.log(rank, id);
        let embed = new MessageEmbed()
        let ow = bot.users.cache.find(u => u.id === clanTable.owner)
            embed.setTitle(`Информация о клане ${clanTable.clanName}`)
            embed.setDescription(`Описание: ${clanTable.clanBIO}`)
            embed.addField("Общее", `∙ Владелец › ${ow}\n∙ Участников › ${clanTable.members.length}/15`)
            embed.addField("Участники", `${clanTable.members.userID}`, true)
            embed.setColor("#36393E")
            message.channel.send(embed)
        
    }

Данные с mongodb:

RthTy.png
  • Вопрос задан
  • 197 просмотров
Подписаться 1 Простой 10 комментариев
Решения вопроса 1
@dispache
У тебя members это массив. Ты у массива вызываешь userrank и userid, поэтому undefined.
Чтобы первого получить :
const rank = clanTable.members[0].userRank;
const id = clanTable.members[0].userID;

Для вывода всех значение нужно по этому массиву пробегаться (foreach, for, ...)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы