Discord.js/Mongodb如何更新所有数据库值

Discord.js/Mongodb如何更新所有数据库值,mongodb,discord.js,robo3t,Mongodb,Discord.js,Robo3t,我目前正在为Discord创建一个经济机器人,我有一个问题不知道如何解决: 所有用户都有一个工资,该工资将通过命令设置。我想创建一个命令,可以用设置的工资金额更新所有用户的帐户。 不必ping特定用户,我如何使命令更新MongoDB数据库中所有找到的用户的值 以下是当前代码: const profileModel = require("../models/profileSchema"); module.exports = { name: 'pay', alia

我目前正在为Discord创建一个经济机器人,我有一个问题不知道如何解决:

所有用户都有一个工资,该工资将通过命令设置。我想创建一个命令,可以用设置的工资金额更新所有用户的帐户。 不必ping特定用户,我如何使命令更新MongoDB数据库中所有找到的用户的值

以下是当前代码:

const profileModel = require("../models/profileSchema");
module.exports = {
    name: 'pay',
    aliases: [],
    permissions: ["ADMINISTRATOR"],
    description: "pay users their salary",
    async execute(message, args, cmd, client, discord, profileData) {
        const amount = profileData.pay;
        const target = message.mentions.users.first();

    try{

        await profileModel.findOneAndUpdate({
                userID: target.id,
        }, {
            $inc: {
                bank: amount,
            },
        }
        );

        return message.channel.send(`Users have been paid.`);
  } catch(err) {
      console.log(err);
  }
},
};

如您所见,当前正在等待用户ping用户。但我希望它只更新数据库中找到的所有用户,而不需要指定是谁


我真的很感激你的帮助

Mongo有一个方法
updateMany
,docs found,如果查询设置为空对象,它会更新所有文档。所以,试试看:

await profileModel.updateMany({}, {
            $inc: {
                bank: amount,
            },
        }
        );

谢谢你的回答。它几乎解决了我的问题。唯一剩下的问题是,它以相同的数量更新所有用户。第一个人有一个有3000枚硬币的账户。他的固定工资是3000英镑。第二个人有一个有3000枚硬币的账户。他的固定工资是2500英镑。当我运行命令“pay”时,它会用3000更新这两个帐户,而person2实际上会收到2500。那么,我如何指定它来检查每个人自己设定的支付金额呢?