【发布时间】:2021-08-29 20:26:07
【问题描述】:
我需要一些帮助来整理这个烂摊子... 如果我可以将所有这些都放入函数中,我正在徘徊,但我真的不知道如何。
if(args[0] == 'add'){
if(roleType == 'join') add = await roleModel.updateOne({serverID: message.guild.id}, {$addToSet: {joinRoles: role}});
else if(roleType == 'member') add = await roleModel.updateOne({serverID: message.guild.id}, {$addToSet: {memberRoles: role}})
else if(roleType == 'mute') add = await roleModel.updateOne({serverID: message.guild.id}, {$addToSet: {muteRoles: role}})
else return error02 = sendError02(this.usage);
}
else if(args[0] == 'remove'){
if(roleType == 'join') remove = await roleModel.findOneAndUpdate({serverID: message.guild.id}, {$pull: {joinRoles: role}});
else if(roleType == 'member') remove = await roleModel.findOneAndUpdate({serverID: message.guild.id}, {$pull: {memberRoles: role}});
else if(roleType == 'mute') remove = await roleModel.findOneAndUpdate({serverID: message.guild.id}, {$pull: {muteRoles: role}});
else return error02 = sendError02(this.usage);
}
else if(args[0] == 'reset'){
if(!roleType) reset = await roleModel.findOneAndUpdate({serverID: message.guild.id}, {$unset: {joinRoles: '', memberRoles: '', muteRoles: ''}});
else if(roleType == 'join') reset = await roleModel.findOneAndUpdate({serverID: message.guild.id}, {$unset: {joinRoles: ''}});
else if(roleType == 'member') reset = await roleModel.findOneAndUpdate({serverID: message.guild.id}, {$unset: {memberRoles: ''}});
else if(roleType == 'mute') reset = await roleModel.findOneAndUpdate({serverID: message.guild.id}, {$unset: {muteRoles: ''}});
}
【问题讨论】:
-
(这个)[stackoverflow.com/questions/38548467/…对你有帮助吗?不是完全起作用,而是查询中的动态字段。
-
您正在根据许多不同的业务规则执行许多不同的操作。进一步抽象这一点并使代码更密集可能会使您以外的人难以阅读和理解。
-
我认为这个问题更适合Code Review Stack Exchange 网站
标签: javascript mongodb discord.js