猫鼬嵌入式鉴别符值未定义

时间:2019-05-09 14:01:54

标签: mongodb mongoose

我正在为嵌入式产品的订单定义一个架构。 我正在使用区分符将它们全部存储在同一数组中。

const productDiscriminator = {
    discriminatorKey: 'productType',
};

const ProductSchema = new Schema(
    {
    },
    productDiscriminator,
);

const ProductModel =  Mongoose.model('Product', ProductSchema);

const OrderSchema = new Schema({
    products: {
        type: [ProductSchema],
    },
});

const Prod1Schema = new Schema(
        {
            boxType: {
                type: Types.String,
        },
        vessels: {
            type: [Types.String],
        },
    },
);

const OrderProductsDocArray = OrderSchema.path('products');

const Product1Model =  OrderProductsDocArray.discriminator('Product1', VesselBoxSchema);

然后我可以使用productType键创建并订购产品1类型的数组。

但是,当我检索订单时,我无法访问子属性,只能访问鉴别键。

奇怪的是,如果我记录了整个产品对象,则可以看到这些值在数据库中。我还可以看到直接在数据库中查找就可以正确设置所有内容,但是我无法使用Mongoose正确地获取它们。有没有办法填充这些字段?

0 个答案:

没有答案