Mongodb 未处理的PromisejectionWarning:TypeError:无法设置属性';前缀';空的

Mongodb 未处理的PromisejectionWarning:TypeError:无法设置属性';前缀';空的,mongodb,mongoose,discord.js,Mongodb,Mongoose,Discord.js,我命令更改服务器的前缀,当我尝试更改时,出现了一个错误,我查看了所有搜索引擎,但找不到答案 (节点:4632)未处理的PromisejectionWarning:TypeError:无法将属性“prefix”设置为null module.exports = { name: 'prefix', args: true, usage: '<префикс>', aliases: ['set-prefix', 's-prefix'], async ex

我命令更改服务器的前缀,当我尝试更改时,出现了一个错误,我查看了所有搜索引擎,但找不到答案

(节点:4632)未处理的PromisejectionWarning:TypeError:无法将属性“prefix”设置为null

module.exports = {
    name: 'prefix',
    args: true,
    usage: '<префикс>',
    aliases: ['set-prefix', 's-prefix'],
    async execute(message, args) {
        const data = await Guild.findOne({ guildID: message.guild.id });

        message.channel.send(`Новый префикс: \`${args[1]}\``);
        data.prefix = args[0];
        data.save;
    },
};
module.exports={
名称:'前缀',
阿格斯:没错,
用法:“”,
别名:['set-prefix','s-prefix'],
异步执行(消息、参数){
const data=await Guild.findOne({guildID:message.Guild.id});
message.channel.send(`БыыццццфцС:\`${args[1]}`);
data.prefix=args[0];
数据保存;
},
};

这是因为数据库中没有前缀。您可以使用findOneAndUpdate方法:

await Guild.findOneAndUpdate({
guildID: message.guild.id //find the needed guild
}, {
guildID: message.guild.id, //update prefix
prefix: args[0]
}, {
upsert: true
});

message.channel.send(Новый префикс: \${args[1]}``);