node.js - 无效的架构配置:[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 的属性。
解决方案
你永远不应该有一个名为 type 的字段。它是许多语言中的保留字,会引起很多麻烦。不确定您使用的是什么语言,我建议您尝试重命名为“roomType”</p>
推荐阅读
- python - 使用python插入不重复的XML元素
- java - 从 java 中的本地 DynamoDB 检索选定的数据
- ssl - curl:无法使用自签名证书获取本地颁发者证书
- android - 如何让我的 OnClickListener 让 Multiselectorspinner 工作?
- angular - 在 Mat-Select 中隐藏选定的选项
- elasticsearch - 在elasticsearch中做交集
- java - 如果抛出异常,来自 timepicker 验证器的 PrimeFaces 输入时间必须停用保存按钮
- laravel - Laravel 侦听器队列 var 错误
- javascript - 使用 babel 在 IE11 中未定义的符号
- c++ - tesseract 命令不起作用并给出文件错误