mongoose - Mongoose create() 为带有 Array 的模式提供“Cast to Array failed for value "[object Object],[object Object]"”
问题描述
具有具有以下值的架构:
var CartSchema = new Schema({
//...
requests: [{
_id:false,
type: String,
count: Number,
expiration: String
}]
})
当我尝试使用带有几个请求的有效请求对象调用 mongoose create() 时,我收到以下错误:
message: 'Cast to Array failed for value "[object Object],[object Object]" at path "requests"',
name: 'CastError',
kind: 'Array',
value: [Object],
path: 'licenses' } } }
解决方案
在我们的系统上遇到这个问题后,我在网上找不到解决方案。
不知何故,我相信以以下方式描述模式会使猫鼬认为具有单个对象的数组是预期的:
var CartSchema = new Schema({
//...
requests: [{
_id:false,
type: String,
count: Number,
expiration: String
}]
})
经过几次尝试,我发现用嵌入式架构替换前一个是可行的:
var RequestSchema = new Schema({
_id:false,
type: String,
count: Number,
expiration: String
});
var CartSchema = new Schema({
//...
requests: [ RequestSchema ]
})
推荐阅读
- haskell - 需要帮助理解 Haskell 递归除法函数
- r - R 项频率分析 (TF-IDF) 中的错误
- android - 在安卓手机热点设置代理
- c# - Blazor WASM - 防止子组件被点击
- typescript - 键入对象中的键,其中该键的值满足约束
- javascript - 使用 paypal-rest-sdk 时出错。请帮助我
- android - 在不使用 startActivityForResult 从图库中选择图像时,如何获得真实路径?
- javascript - 带有变量的 UseQuery:{} 来自 useEffect 的参数
- java - 如何退出 switch 表达式中的方法?
- r - 对多个模型应用相同分析时的优雅编码格式