【发布时间】:2015-04-30 11:35:49
【问题描述】:
我有一个服务器,它存储代表对象的记录,并使用 Mongoose 来管理这些记录。我希望能够查询/更新/等。所有具有简单 API(即单个端点)的对象。不同类型的对象有一些相同的属性,也有一些不同的属性,所以单一的 static 对象模式是行不通的。相反,我仍然想要一个单一的模式,但我希望能够通过在创建每个新对象时添加/删除字段来稍微改变它,根据对象的类型,字段是否存在.我不想要混合模式,因为我想要对每种类型的 Object 进行错误验证。我想要一个单一的模式(而不是每种类型的对象都有一个不同的模式),这样我就可以做
Object = mongoose.model('Object', ObjectSchema);
Object.findOne({objectType: "type1"}, function(err, model) {
...
});
所以基本上,我想要字段验证,同时仍然保持属性的一些灵活性,以及查询/更新/等的单点。我的对象记录。如果我使用每个新对象更改架构,将其重新编译为模型,并创建该模型的新实例,那么不同模型的所有实例(从同一架构的不同修改版本编译)仍然可以像上面那样查询吗?
显然,我是 Mongoose 的新手。我只是在这里谈了很多关于模式的事情,我真的不知道我是否应该在某些地方使用“模型”这个词来代替“模式”。我只是不知道如何才能完成这一切。让我知道如果我没有任何意义。
【问题讨论】: