复杂的问题,我怀疑很多人都会遇到这个问题......但我正在尝试在运行时动态管理模式,就像更新/替换已经加载的模式一样。基本上是一个允许您创建、注册和稍后更新架构(然后填充)的应用程序。当然,尝试重新定义已注册的架构会导致此错误:
OverwriteModelError: Cannot overwrite [myModelName] model once compiled.
Mongoose 模型/架构创建后有什么方法可以销毁它吗?我检查了 API 文档并搜索了无济于事的答案。即时创建新模式就像冠军一样,但更新它们却让我陷入困境。
如果我能帮忙的话,我宁愿不 fork mongoose 来添加这个功能:)
感谢您的帮助!
最佳答案
试试这个
delete mongoose.connection.models[myModelName];
然后重新注册/重新初始化它。它会工作得很好
关于javascript - 如何重新注册(或删除)现有的 Mongoose 架构/模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24483263/