OverwriteModelError Mongoose - PullRequest
       31

OverwriteModelError Mongoose

0 голосов
/ 07 января 2020

Я, кажется, получаю OverwriteModelError при использовании Mon goose для запроса.

Я создаю бот Discord, где он автоматически обновляет звания игроков на моих форумах, однако, когда Discord Роль игроков изменена, он регистрирует ее в консоли, но если тот же игрок или другой игрок меняется, он выдает эту ошибку

https://gyazo.com/2af4c0a967da3cf16b8157f8ca7abcbd.

Это код, который выполняется в моем forumUpdate. js

const Discord = require("discord.js");
const superagent = require("superagent");
const errors = require("../utils/errors.js");
const api = require("../utils/api.js");
const mongoose = require('mongoose');

module.exports = {
  updateUser: async (updateUserTag) => {
    try {
      const findUser = new mongoose.Schema({ discordUsername: String });
      const User = mongoose.model('players', findUser);

      const query = await User.find({ discordUsername: updateUserTag }).select('forums -_id');
      query instanceof mongoose.Query;
      const docs = await query;

      console.log(docs)
    } catch (ex) {
      return console.log(ex)
    }
  }
};

И эта функция вызывается здесь в моем индексе. js

bot.on('guildMemberUpdate', async (oldMember, newMember) => {
    let updateUserID = (await bot.fetchUser(newMember));
    let updateUserTag = updateUserID.tag;

    forumsTitleUpdate.updateUser(updateUserTag);
})

Любая помощь или совет будет высоко ценится.

1 Ответ

0 голосов
/ 07 января 2020

Каждый раз, когда вы пытаетесь обновить пользователя, вы кодируете вызовы const findUser = new mongoose.Schema({ discordUsername: String });, что недопустимо.

Настройка Schema вне updateUser метода, и это не приведет к ошибке.

const mongoose = require('mongoose');
const findUser = new mongoose.Schema({ discordUsername: String });
...