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

MongoDB Realm同步报错Schema mismatch:cardId属性可空性不匹配

错误原因

该同步错误由Mongo Atlas服务端与Android客户端的Employee模型cardId字段空值约束不匹配触发:

  • 客户端侧:你在Employee类的cardId字段上添加了@Required注解,强制约定该字段为非空,不允许存储null值
  • 服务端侧:你在Atlas配置的Employee集合BSON Schema中,cardId字段未配置非空约束,允许存储null值

Realm同步流程会严格校验两端同名字段的数据类型、空值约束等schema规则,只要规则不一致,就会直接拦截下载的变更集,抛出CLIENT_BAD_CHANGESET(realm::sync::ClientError:112)错误,拒绝完成同步。

修复方式

根据实际业务需求二选一即可:

  • 若业务要求cardId必须非空:修改Atlas端Employee集合的BSON Schema,为cardId添加非空约束,同时清理集合内已存在的cardId为null的历史脏数据,保证两端规则一致
  • 若业务允许cardId为空:移除Android端Employee类中cardId字段上的@Required注解,重新编译运行应用即可

提示:你同时给featureVector数组、password字段添加了@Required注解,修复cardId问题后建议同步核对这几个字段在Atlas BSON Schema中的空值配置,避免其他字段触发同类schema不匹配错误。

内容的提问来源于stack exchange,提问作者Zappy.Mans

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 17:01:40