我怎样才能将我的所有余额转移给另一个会员?猫鼬

How can I transfer all of my balance into another member? Mongoose

我正在执行一个命令,它将我所有的余额都交给另一个成员,所以如果我使用像 ?give <member> all 这样的命令,我需要找出它,

if(args[1] === "all") {
        const member = await message.guild.members.fetch(args[0]) || message.mentions.members.first()
        const data = await economy.findOne({
            guildID: message.guild.id,
        })

        if(!data) return message.reply(`You don't have any records yet.`)
        if(0 === data.wallet) return message.reply(`You don't have enough balance, your current balance is $${data.wallet.toLocaleString()}`)

        economy.findOne({
            guildID: message.guild.id,
            userID: member.id,
        }, async(err, data) => {
            data.wallet += data.wallet
            data.save();
        })

        economy.findOne({
            guildID: message.guild.id,
            userID: message.author.id
        }, async(err, data) => {
            if(data) {
                const embed = new MessageEmbed()
                .setDescription(`You have successfully given ${member.user.username} amount of $${data.wallet.toLocaleString()}`)
                .setColor('RANDOM')
                .setTimestamp()
                message.channel.send({embeds: [embed]})

                data.wallet -= data.wallet
                data.save()
            }
        })

这是我到目前为止尝试过的方法。

这是将我的余额转移给另一个用户的部分:

    economy.findOne({
        guildID: message.guild.id,
        userID: member.id,
    }, async(err, data) => {
        data.wallet += data.wallet
        data.save();
    })

事情是它不起作用,因为它全部针对 member

您似乎对原始用户和“目标”用户都使用了变量 data。例如,在您的第二个代码块中,您不是将原始用户的余额添加到 data,而是将(目标用户的)data 添加到 data;基本上,您正在使目标用户的数据翻倍。

尝试将您的 data 变量重命名为

    economy.findOne({
        guildID: message.guild.id,
        userID: member.id,
    }, async(err, other) => {
        other.wallet += data.wallet;
        other.save();
    })