You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB无法存储复杂JSON文档,请求修正Match Schema

修正你的MongoDB Match Schema

先帮你揪出原Schema里的几个问题,这些应该就是导致你创建文档失败的原因:

  • 拼写错误:stumbeds应该是板球术语里的stumpeds,这是个笔误
  • 无效语法:batting对象里的...是非法的,Schema里不能留这种占位符
  • 语法不完整:整个Schema的括号没有正确闭合,最后少了好几层}和)
  • 可选优化:嵌套的数字字段可以加上默认值0,这样创建文档时如果没传这些值,会自动设为0,避免出现undefined

下面是修正后的完整Schema:

const createMatchSchema = new Schema({
  match_key: { 
    type: String, 
    required: true 
  },
  match_status: { 
    type: String, 
    required: true 
  },
  players: [{
    fullname: String,
    innings: [{
      fielding: {
        catches: { type: Number, default: 0 },
        runouts: { type: Number, default: 0 },
        stumpeds: { type: Number, default: 0 } // 修正拼写错误
      },
      batting: {
        dots: { type: Number, default: 0 },
        sixes: { type: Number, default: 0 },
        runs: { type: Number, default: 0 },
        balls: { type: Number, default: 0 },
        fours: { type: Number, default: 0 }
        // 这里移除了无效的`...`占位符,如果还有其他batting字段,直接在这里添加即可
      }
    }]
  }]
});

如果之后需要给batting或fielding添加更多字段,直接在对应的对象里补充字段名: { type: 类型, ...配置 }就可以了。另外,给数字字段加默认值0是个实用的小优化,能保证文档结构的一致性,避免缺失字段带来的问题。

内容的提问来源于stack exchange,提问作者Hitesh Sardana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:43:37