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

MongoDB 3.6.2添加Collection Validator遇兼容性错误求助

解决MongoDB 3.6.2集合校验器的featureCompatibilityVersion兼容性问题

这个错误很常见——虽然你安装的是MongoDB 3.6.2,但你的数据库实例的**featureCompatibilityVersion(FCV)**还停留在旧版本(比如3.4),而3.6新增的集合校验器特性要求FCV必须设置为3.6才能启用。下面是一步步的解决方法:

  • 第一步:检查当前的featureCompatibilityVersion值
    打开Mongo Shell,连接到你的数据库实例,执行以下命令:

    db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
    

    如果返回结果里的featureCompatibilityVersion值是"3.4"或者更低,就说明需要升级。

  • 第二步:升级featureCompatibilityVersion到3.6
    在Mongo Shell中执行升级命令:

    db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )
    

    注意:如果是分片集群,必须确保所有分片节点、配置服务器节点都已经升级到MongoDB 3.6版本后,再执行这个命令;单实例环境可以直接执行。

  • 第三步:验证升级结果
    再次执行第一步的检查命令,确认返回的featureCompatibilityVersion值已经变为"3.6"。

  • 第四步:重新尝试创建带校验器的集合
    现在你就可以正常创建带有3.6特性的集合校验器了,举个示例:

    db.createCollection("users", {
      validator: {
        $jsonSchema: {
          bsonType: "object",
          required: ["name", "email"],
          properties: {
            name: {
              bsonType: "string",
              description: "必须是字符串且不能为空"
            },
            email: {
              bsonType: "string",
              pattern: "^.+@.+\\..+$",
              description: "必须是有效的邮箱格式"
            }
          }
        }
      }
    })
    

额外提醒:

  • 升级FCV后,MongoDB会启用3.6的所有特性,如果你之后需要降级到3.4版本,需要先将FCV改回"3.4",再进行版本降级操作。
  • 执行上述命令需要拥有数据库的管理员权限(比如root角色的用户)。

内容的提问来源于stack exchange,提问作者chandra shekar reddy dubba

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:09:10