Здравствуйте, я недавно начал изучать Node.js, смотреть уроки т.п. Сейчас решил написать маленького бота с orm Sequelize. Но у меня не выходит с базы вывести текст или же попросту пишет На что, я обрыскал пол рунета и не нашёл решение. Я хочу вывести с базы столб (в столбе еще first, id,т.д) Name в ответ я получаю лишь либо или же попросту ошибки или сама база в терминал выводится, я хочу если нажать на "Статистика" он выводил мне нужный параметр, подскажите пожалуйста) П.с не критикуйте строго startStep.hears("Статистика", async (ctx) => { try { let msg = await ctx.reply('Загрузка...'); await ctx.deleteMessage(msg.message_id); const username = await user.findAndCountAll(); const name = await user.findAll({where: {name: {}}}) console.log(name); await ctx.reply(`<b>Welcome! <code>${ctx.message.from.first_name}</code></b>\n\n\n`+ `Пользователей: <code>${username.count}</code>\nКлючи: ${name}`, { parse_mode: "HTML", }, Markup.inlineKeyboard([ Markup.button.callback("Отмена", "cancel") ])) .catch((err) => err) } catch (err){ ctx.reply('ошибка') console.log(err); } }) JavaScript startStep.hears("Статистика", async (ctx) => { try { let msg = await ctx.reply('Загрузка...'); await ctx.deleteMessage(msg.message_id); const username = await user.findAndCountAll(); const name = await user.findAll({where: {name: {}}}) console.log(name); await ctx.reply(`<b>Welcome! <code>${ctx.message.from.first_name}</code></b>\n\n\n`+ `Пользователей: <code>${username.count}</code>\nКлючи: ${name}`, { parse_mode: "HTML", }, Markup.inlineKeyboard([ Markup.button.callback("Отмена", "cancel") ])) .catch((err) => err) } catch (err){ ctx.reply('ошибка') console.log(err); } })
Если user у тебя модель, то не нужно использовать метод .findAndCountAll() для поиска одной записи, используй .findOne() , и пиши модели всегда с большой буквы - User , например. const profile = await User.findOne({ where: { name: 'тут введи имя пользователя' } }); if (profile === null) { console.log('User', profile); } else { console.log('Not found'); } JavaScript const profile = await User.findOne({ where: { name: 'тут введи имя пользователя' } }); if (profile === null) { console.log('User', profile); } else { console.log('Not found'); }
Непонятно, что тебе нужно вывести и какие у тебя таблицы. В примере: получаем количество пользователей и информацию о текущем пользователе из бд по userId try { const fromId = ctx.from.id const usersCount = await User.count() console.log(`Количество пользователей: ${usersCount}`) const currentUser = await User.findOne({where: {userId: fromId}}) if (currentUser) { console.log(`Имя пользователя: ${currentUser.name}`) } } catch (e) { console.log(e) } JavaScript try { const fromId = ctx.from.id const usersCount = await User.count() console.log(`Количество пользователей: ${usersCount}`) const currentUser = await User.findOne({where: {userId: fromId}}) if (currentUser) { console.log(`Имя пользователя: ${currentUser.name}`) } } catch (e) { console.log(e) }