![](/img/trans.png)
[英]How do i declare a dynamic key in an object for a Mongoose Schema
[英]In Mongoose how declare dynamic Schema
我是Mongoose的新手,在官方文档中我没有发现任何与我需要的东西有关的东西。
如何声明动态的子架构?
例如:
var A = new Schema({
name : String,
subtype : String,
description : String
});
var B = new Schema({
name : String,
description : String
});
var C = new Schema({
name : String,
type : [if(type.value == 'A') then uses Schema-A;
if(type.value == 'B') then uses Schema-B;
]
});
希望有道理。
提前致谢。
您可以将架构的自定义部分的类型设置为{},然后验证流入的不同结构。请参见要点 。 它不像针对不同情况设置不同的模式那样好,但是应该可以达到目的。 本质上,通过这种方式进行设置,实际上是在说文档的那部分没有架构。 想想文档的架构作为确定的部分,这里唯一确定的组成部分,是动态部分的占位符。
我认为,您还可以将每个不同的结构创建为不同的架构,但存储在同一集合中,并预先选择适当的架构。 我从来没有尝试过,但是由于底层MongoDB的无模式本质,应该允许它。
为什么需要这个?
在Javascript中,您无需考虑对象的类。
您只需要在初始化时以及在MongoDB中进行搜索时就知道类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.