我试图创建一个对象结构,其中包含动态的年份和月份&后面是每个月的数据。
我的期待
{
"2022": {
"january": {
"cards": [
{
"name":"Card Name",
"amount":100,
"date": "2021-07-06T20:30:00.000Z"
}
]
},
"february": {
"cards": [
{
"name":"Card Name",
"amount":100,
"date": "2021-07-06T20:30:00.000Z"
}
]
}
},
"2023": {
"March": {
"cards": [
{
"name":"Card Name",
"amount":100,
"date": "2021-07-06T20:30:00.000Z"
}
]
}
},
}
我在Map上找到了一个关卡
const DynamicSchema = new Schema({
year: {
type: Map,
of: String,
}
});
我能够创建这个✅
{
"year": {
"2022": "test"
}
}
尝试使用下面的架构,但以错误❌结束
const DynamicSchema = new Schema({
year: {
type: Map,
of: [Map],
month: {
type: Map,
of: [Map],
}
}
});
请求负载:
{
"year": {
"2022": {
"month": "34"
}
}
}
“错误”:路径“Year.$*”中值“{Month:‘34’}”(类型对象)的“强制转换为字符串失败”
我的结构能不能用MongoDB实现?如果是,任何提示都会有帮助
1条答案
按热度按时间qfe3c7zg1#
您的有效载荷本身是错误的:
您按如下方式定义了您的架构:
请注意,这里将1d0d1e定义为Map。但是,您在有效负载中为它传递了一个字符串
34
。因此,34
到map的转换失败,因此出现错误。尝试在您的有效载荷中发送Map: