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

如何编写符合JSON Schema规范的MongoDB 3.6集合名称校验正则

最终可用正则及配置

你原有正则存在两处需要调整的点:一是开头字符集包含了数字,不符合MongoDB「只能下划线或字母开头」的官方要求;二是缺少system.前缀的负向校验。
适配JSON Schema正则子集的最终pattern写法:

^(?!system\.)[a-zA-Z_][^$ \0]*$

修改后的完整JSON Schema配置如下:

'collectionName': {
    description: "MongoDB集合名称,符合官方命名规范",
    type: 'string',
    minLength: 1,
    maxLength: 120,
    pattern: '^(?!system\\.)[a-zA-Z_][^$ \\0]*$',
    example: 'MyCollection',
}

校验规则匹配验证

所有要求的场景均可以正常覆盖:

  • 非法名-collection不匹配,合法名_collection、collec-tion可正常匹配
  • 包含空格的collec tion、包含$的collec$$tion均不匹配
  • systemCollection无后缀点,可正常匹配
  • 预留前缀名system.collection触发负向校验,不匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 05:30:02