[英]OverwriteModelError: Cannot overwrite `User` model once compiled. at Mongoose.model
[英]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.