首页 > 解决方案 > 无效的架构配置:[OBject Object] 不是数组中的有效类型

问题描述

我在猫鼬上的架构遇到了一些错误。

我的架构看起来像:

{
accomodations : {
        rooms : {
            type : [{
                rooms : [{
                    type : {
                        id : { type : Number },
                        name : {
                            ita : { type : String },
                            eng : { type : String },
                        },
                        numberOfRooms : { type : Number },
                    },
                }],
                boards : [{
                    id : { type : String },
                    type : {
                        id : { type : Number },
                        name : {
                            ita : { type : String },
                            eng : { type : String },
                        },
                    },
                    amount : {
                        currency : { type : String },
                        directPayment : { type : Boolean },
                        totalPrice : { type : Number },
                        mandatory : { type : Boolean },
                        priceAgency : { type : Number },
                        refundable : { type : Boolean },
                        markupPrice : { type : Number },
                    },
                }],
                amenities : [{ type : mongoose.Schema.Types.Mixed }],
            }],
        },
    }
}

如果我使用“类型”作为属性名称,我会收到一个错误:无效的架构配置:[object Object]不是数组rooms中的有效类型。有关有效架构类型的列表,请参阅 http://bit.ly/mongoose-schematypes。

我需要在我的模式中有一个名为 type 的属性。

标签: node.jsmongooseschema

解决方案


你永远不应该有一个名为 type 的字段。它是许多语言中的保留字,会引起很多麻烦。不确定您使用的是什么语言,我建议您尝试重命名为“roomType”</p>


推荐阅读