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

React Native中如何使用Realm存储包含多种类型元素的数组

Realm存储多类型混合数组的正确配置方案

返回null的常见原因及解决方式:

  • 最常见的原因是你之前已经用string[]类型创建过该表的Schema,修改类型后没有执行迁移操作。开发阶段可以直接卸载重装App清除旧数据验证,生产环境需要配置Schema版本和迁移逻辑。
  • 部分低版本Realm对mixed数组的支持存在缺陷,建议升级到Realm v10.0及以上稳定版本。

正确Schema配置

export const Schema = {
  name: 'Schema',
  primaryKey: 'id',
  properties: {
    id: 'int',
    name: {type: 'string', indexed: true},
    field: 'mixed[]' // 正确配置多类型混合数组
  }
}

操作示例

数据插入

realm.write(() => {
  realm.create('Schema', {
    id: 1,
    name: '测试数据',
    field: [783, "Name of"]
  })
})

数据查询

查询返回的数组会保留原始元素类型,不需要额外转换:

const result = realm.objects('Schema').filtered('id = 1')[0];
console.log(result.field) // 输出 [783, "Name of"]

异常排查点

如果配置后仍然异常,可按以下顺序排查:

  • 确认你定义的Schema已经正确注册到Realm实例的配置数组中
  • 确认写入操作是在write事务内执行的,没有抛出隐藏异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:06:04