User being displayed as [object Object]

Hey, I'm trying to display a leaderboard of users having the most gold saved in my sqlite database, here's my command:
    async execute(interaction) {
        const private = interaction.options.getBoolean(OPTION_PRIVATE);
        const usersAmount = interaction.options.getInteger(OPTION_AMOUNT_OF_USERS);

        const users = await Users.findAll({
            order: [['balance', 'DESC']],
            limit: usersAmount,
        });
        if (users.length === 0) {
            await interaction.reply({ content: 'Everyone is broke :(', ephemeral: private });
        }
        else {
            let message = '';
            const limit = users.length < usersAmount ? users.length : usersAmount;

            const rest = new REST().setToken(process.env.DISCORD_TOKEN);
            const fetchUser = async id => rest.get(Routes.user(id));

            for (let i = 0; i < limit; i++) {
                const user = await fetchUser(users[i].user_id).catch(() => null);
                message += `${i + 1}. ${user ? user.global_name : 'Unknown user'} - ${users[i].balance} gold.\n`;
            }
            await interaction.reply({ content: message, ephemeral: private });
        }
    },

Works fine with user.global_name but displaying just the
user
results in [object Object] in the message. Why is that? I thought that printing out user in the string literal or using .toString() method will automatically display the user as mention @username. What am I missing?
Was this page helpful?