如何重新注册(或删除)现有的Mongoose模式/模型?

复杂的问题,我怀疑很多人不得不遇到…但我试图pipe理模式dynamic后运行,如更新/replace模式已被加载。 基本上是一个应用程序,可以让你创build,注册,然后更新架构(然后填充)。 当然,试图重新定义已经注册的模式会导致这个错误:

OverwriteModelError: Cannot overwrite [myModelName] model once compiled.

一旦它被创build,有什么办法可以销毁一个mongoose模型/模式? 我检查了API文档并找不到解答。 在飞行中创build新的模式就像一个冠军 – 但更新他们扔我的砖墙。

宁可不叉叉mongoose添加这个function,如果我可以根本帮助它:)

谢谢你的帮助!

尝试这个

删除mongoose.connection.models [myModelName];

然后重新注册/重新初始化它。 它会正常工作