将多个相似的mongoose模式包装成一个模式

我有一个服务器存储代表对象的logging,并使用Mongoose来pipe理这些logging。 我希望能够查询/更新/等。 所有具有简单API的对象(即单个端点)。 不同types的对象具有一些相同的属性和一些不同的属性,因此单个静态对象模式将不会执行。 相反,我仍然想要一个模式,但是我希望能够通过在创build每个新的对象时添加/删除字段来稍微改变它,其中根据对象的types而不存在的字段。 我不想混合模式,因为我想要为每种types的对象进行错误validation。 我想要一个模式(相对于每种types的对象不同的模式),以便我可以做到

Object = mongoose.model('Object', ObjectSchema); Object.findOne({objectType: "type1"}, function(err, model) { ... }); 

所以基本上,我想要字段validation,同时仍然保持一些属性的灵活性,并单一点查询/更新/等。 我的对象logging。 如果我用每个新对象更改模式,将其重新编译为模型,并创build该模型的新实例,那么不同模型的所有实例(从相同模式的不同修改版本编译)是否仍然可以像上面一样查询?

显然,我是新来的mongoose。 我刚才在这里谈了很多关于这个模式,我真的不知道在某些地方是否应该用“模式”来代替“模式”。 我只是不知道我怎么能完成这一切。 让我知道,如果我没有任何意义。

我们正在成功地使用mongoose模型inheritance和鉴别器function来实现一个非常相似的场景。 看这里的一个例子:

http://www.laplacesdemon.com/2014/02/19/model-inheritance-node-js-mongoose/

你也可以使用这个插件: https : //www.npmjs.com/package/mongoose-schema-extend