是否可以从某个文件中添加已加载的模式一些新的静态函数?

时间:2014-02-11 22:28:57

标签: node.js mongoose

是否可以从已加载的模式中添加一些来自某个文件的新静态函数? 我试图在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.

1 个答案:

答案 0 :(得分:0)

很抱歉,无法修改或扩展已编译的架构。

创建mongoose模式的最佳实践首先是使用特定模式初始化所有模型,然后一起编译。

这种工作流程有时会很困难,我建议您使用模型框架。

检查此框架是否为express和mongoose:

https://github.com/codexar/rode

根据需要编制模型以防止出现问题。

我希望我有所帮助!