javascript - 如何重新注册(或删除)现有的 Mongoose 架构/模型?

标签 javascript node.js mongodb mongoose

复杂的问题,我怀疑很多人都会遇到这个问题......但我正在尝试在运行时动态管理模式,就像更新/替换已经加载的模式一样。基本上是一个允许您创建、注册和稍后更新架构(然后填充)的应用程序。当然,尝试重新定义已注册的架构会导致此错误:

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/

相关文章:

node.js - 如何在 Restify HTTP 处理程序中测试我的异步代码?

sql-server - 尝试通过 knex 连接到 Mssql 服务器

javascript - meteor js 和全日历

javascript - 如何让 pull 与 mongoose 和 mongodb 一起正常工作?

node.js - typescript 中异步/等待的详细信息

MongoDB/NoSQL : Keeping Document Change History

node.js - 如何使用 nestjs/mongoose 在模式类中定义 mongoose 方法?

javascript - 如何知道 easyTimer 是否停止?

javascript - 在隐藏/显示地址栏上禁用 iphone 缩放/调整大小?

javascript - 在 Node.js 中进行同步 MongoDB 查询的正确方法是什么?