猫鼬模式声明带有不同嵌套模式的数组

时间:2019-09-04 12:59:18

标签: mongodb mongoose schema

我想知道我下面的PersonSchema模式定义是否可以工作。是否可以像我的示例一样声明架构类型?

我的意思是,我希望我的PersonSchema是EmployedPersonSchema(object)类型或UnEmployedPersonSchema(object)类型的数组。我可以使用如下所示的OR运算符吗?

const EmployedPersonSchema = new Schema({
 employeeID: String,
 taxNumber: Number
});
const UnEmployedPersonSchema = new Schema({
 personID: String;
 age: Number,
 pensionNumber: Number
});
const PersonSchema = new Schema({
 persons:{
    type: [EmployedPersonSchema || UnEmployedPersonSchema],
    default: []
 }
});

是最好的方法还是其他更好的方法?有帮助吗?

数据应在我的MongoDB中如下所示:

"persons" : [
            {
             employeeID: "001",
             taxNumber: 39765
            },
            {
             personID: "901"
             age: 68,
             pensionNumber: 2345
            }
           ]

0 个答案:

没有答案