具有nodejs的mongodb中的多态模型

时间:2015-09-13 20:10:10

标签: node.js mongodb mongoose polymorphism

我目前正在开发一种在处理数据存储方面需要非常高的多功能性的项目。让我们说原则是用户可以定义一个自定义模型,然后根据他定义的模型用数据填充数据库。

到目前为止,我的解决方案是将模型的定义保存在MongoDB集合中,然后使用DocumentFactory从中生成模型。

DocumentFactory: function(description) {

    var attributes = {};

    description.forEach(function(element, index){
        attributes[element.name] = {
            type: "string",
            required: true
        };
    });

    var model = mongoose.Schema(attributes);

    return mongoose.model('Meta', model);;
}

我的问题是我可以定义" MetaModel"在我发现错误之后,只有一次: OverwriteModelError:编译后无法覆盖Meta模型

实际上,该模型由MongoDB一劳永逸地编译。我没有找到覆盖它的方法。

我看到了两个解决方案:

  1. 找到一种在不编译模型的情况下定义模型的方法。这个解决方案可能是最好的,所以我可以使用mongo验证系统。
  2. 为模型创建一个唯一的名称,但它似乎是一个非常糟糕的解决方案,因此我可能会有数千个模型。
  3. 有什么想法吗? 提前致谢

0 个答案:

没有答案