簡體   English   中英

OverwriteModelError 貓鼬

[英]OverwriteModelError Mongoose

使用 Mongoose 進行查詢時,我似乎遇到了OverwriteModelError

我正在創建一個 Discord Bot,它會自動更新我論壇上的玩家標題,但是,當 Discord 玩家角色更改時,它會將其記錄到控制台,但如果更改了相同的玩家或不同的玩家,則會引發此錯誤

https://gyazo.com/2af4c0a967da3cf16b8157f8ca7abcbd

這是在我的 forumsUpdate.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)
    }
  }
};

該函數在我的 index.js 中被調用

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

    forumsTitleUpdate.updateUser(updateUserTag);
})

任何幫助或建議將不勝感激。

每次嘗試更新用戶時,您的代碼都會調用const findUser = new mongoose.Schema({ discordUsername: String }); 這是不允許的。

updateUser方法之外設置Schema ,它不會失敗。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM