是否可以从已加载的模式中添加一些来自某个文件的新静态函数? 我试图在mongoose中扩展模式
_ = require('lodash');
var schema = new mongoose.Schema(model.schema, model.options);
_.extend(schema, require('../extension/person_statics'));
但我收到错误
throw new MongooseError.OverwriteModelError(name);
^
OverwriteModelError: Cannot overwrite `Person` model once compiled.
答案 0 :(得分:0)
很抱歉,无法修改或扩展已编译的架构。
创建mongoose模式的最佳实践首先是使用特定模式初始化所有模型,然后一起编译。
这种工作流程有时会很困难,我建议您使用模型框架。
检查此框架是否为express和mongoose:
https://github.com/codexar/rode
根据需要编制模型以防止出现问题。
我希望我有所帮助!