提问者:小点点

如何用mogoose保存带有guildUpdate的新服务器名? discord.js


当服务器更新时,如何将oldguild(旧服务器的名称)替换为新的? 我用GuildID(不和服务器id)试了一下,结果似乎什么都不起作用。 当bot保存它时,在MongoDB Compass:Screenshot中看起来是这样的,例如,这就是它在MongoDB Compass中的样子:Old name server,但是我希望它看起来像这个新的name server。

这是我的密码。

client.on("guildUpdate", (oldguild, newguild) => {
        var name = [oldguild.name, newguild.name];

        if(name[0] == null) {
          name[0] = oldguild.name
        }
        if(name[1] == null) {
          name[1] = oldguild.name
        }

        if(oldguild.name !== newguild.name)
        {
          async function guildUpdated() {
            const servername = new setprefixModel ({
              _id: mdb.Types.ObjectId(),
              GuildID: setprefixModel.GuildId,
              Guild: oldguild.name,
              Prefix: setprefixModel.Prefix
            });
            const reqservername = await setprefixModel.findOne({ Guild: oldguild.name });
            if(!reqservername) {
              return await servername.save();
            }
            else {
             const updatedDocument = await setprefixModel.findOneAndUpdate(
               { Guild: oldguild.name },
               { Guild: newguild.name },
               { new: true }
             );
            updatedDocument;
            }
           }
          guildUpdated();
        }
      })

共1个答案

匿名用户

client.on("guildUpdate", (oldguild, newguild) => {
        var name = [oldguild.name, newguild.name];

        if(name[0] == null) {
          name[0] = oldguild.name
        }
        if(name[1] == null) {
          name[1] = oldguild.name
        }

        if(oldguild.name !== newguild.name)
        {
          async function guildUpdated() {
            const servername = new setprefixModel ({
              _id: mdb.Types.ObjectId(),
              GuildID: String,
              Guild: oldguild.name,
              Prefix: String
            });
            const reqservername = await setprefixModel.findOne({ Guild: oldguild.name });
            if(!reqservername) {
              return await servername.save();
            }
            else {
             const updatedDocument = await setprefixModel.findOneAndUpdate(
               { Guild: oldguild.name },
               { Guild: newguild.name },
               { new: true }
             );
            updatedDocument;
            }
           }
          guildUpdated();
        }
      })

已在常量服务器名处更改。