类型别名 BaseConfiguration

基本配置: {
    deleteRealmIfMigrationNeeded?: 布尔
    disableFormatUpgrade?: 布尔
    encryptionKey?: ArrayBuffer | ArrayBufferView | Int8Array
    fifoFilesFallbackPath?: 字符串
    inMemory?: 布尔
    迁移选项?: MigrationOptions
    onFirstOpen?: ((Realm 前) => void)
    onMigration?: MigrationCallback
    路径?: 字符串
    只读?: 布尔
    模式?: (ObjectClass<AnyRealmObject> | 对象模式)[ ]
    模式版本?: 数字
    shouldCompact?: ((totalBytes , usedBytes ) => boolean ) ;
    sync ?: SyncConfiguration ;
}

用于创建Realm 实例的选项。

类型声明

  • Optional 如果需要迁移,请删除 Realm?: 布尔

    指定在需要迁移时是否应删除此 Realm。 该选项与选项sync不兼容。 @default: false

    since

    1.13.0

  • Optional 禁用格式升级?: 布尔

    指定如果此 Realm 的文件格式是使用旧版本的 Realm 库创建的,是否应自动升级该文件格式。 如果设置为true并且需要升级文件格式,则会引发错误。

    默认

    false
    

    since

    2.1.0

  • Optional 加密密钥?: ArrayBuffer | ArrayBufferView | Int8Array

    用于加密和解密 Realm 中所有数据的 512 位(64 字节)加密密钥。

    since

    0.11.1

  • Optional fifo 文件回退路径?: 字符串

    打开 Realm 会创建许多 FIFO 特殊文件,以便协调跨线程和进程对 Realm 的访问。 如果 Realm 文件存储在不允许创建 FIFO 特殊文件(例如 FAT32 文件系统),则无法打开 Realm。 在这种情况下,Realm 需要一个不同的位置来存储这些文件,并且该属性定义了该位置。 FIFO 特殊文件非常轻量,主 Realm 文件仍将存储在path属性定义的位置。 如果path定义的目录允许 FIFO 特殊文件,则忽略此属性。

    since

    2.23.0

  • Optional 在内存中?: 布尔

    指定是否应在内存中打开此 Realm。 这仍然需要一个路径(可以是默认路径)来标识 Realm,以便其他进程可以打开同一个 Realm。 如果 Realm 大于内存大小,则该文件也将用作交换空间,但它不是持久性的,并且会在关闭最后一个实例时被删除。 此选项与选项sync不兼容。

    默认

    false
    

    since

    0.10.0

  • Optional 迁移选项?: MigrationOptions
  • Optional 首次打开时?: ((Realm 前) => void)

    首次打开 Realm 时调用的函数。 该函数可以在打开 Realm 之前对其进行填充。 调用回调时,Realm 将处于写事务(write transaction)状态。

    参数:realm

    新创建的 Realm。

    since

    10.14.0

      • (Realm 前): void
      • 首次打开 Realm 时调用的函数。 该函数可以在打开 Realm 之前对其进行填充。 调用回调时,Realm 将处于写事务(write transaction)状态。

        参数

        • : Realm

          新创建的 Realm。

        返回void

        since

        10.14.0

  • Optional 关于迁移?: MigrationCallback

    需要迁移时运行的函数。

    此函数应提供将Realm 数据模型从先前模式转换为新模式的所有逻辑。此选项与选项sync不兼容。

    该函数接受两个参数:

    • oldRealm - 执行迁移之前的 Realm。
    • newRealm - 使用最新schema的 Realm,应根据需要进行修改。

    since

    0.12.0

  • Optional 路径?: 字符串

    应存储 Realm 数据库的文件的路径。 对于同步的 Realm,将相对路径与 AppConfiguration.ID | 应用程序 ID 和用户ID一起使用,以避免与其他应用或用户发生冲突。绝对路径保持不变,在某些平台(iOS 和 Android)上,应用程序可能没有创建或打开文件的权限 - 权限未经验证。 如果指定了相对路径,则该路径是相对于 AppConfiguration.baseFilePath 的。

    since

    0.10.0

  • Optional 只读?: 布尔

    指定此 Realm 是否应以只读方式打开。

    默认

    false
    

    since

    0.10.0

  • Optional 模式?: (ObjectClass<AnyRealmObject> | 对象模式)[ ]

    指定此 Realm 中的所有 Realm 对象类型。首次在此path创建 Realm 时为必填项。 如果省略,将从现有 Realm 文件中读取模式。

    since

    0.10.0

  • Optional schema 版本?: 数字

    如果更改schema ,则此字段为必填字段,并且必须递增。 这仅适用于本地 Realm。

    since

    0.11.0

  • Optional should Compact?: ((totalBytes , usedBytes ) => boolean )

    在进程生命周期中首次打开 Realm 时调用的函数,用于确定是否应在将其返回给用户之前对其进行压缩。

    它返回true表示应尝试压缩文件。 如果另一个进程正在访问它,则将跳过压实。

    参数:totalBytes

    总文件大小(数据 + 可用空间)。

    参数:usedBytes

    文件中数据使用的总字节数。

    返回:

    true 在打开 Realm 文件之前是否应先压缩该文件。

    since

    2.9.0

    例子

    // compact large files (>100 MB) with more than half is free space
    shouldCompact: (totalBytes, usedBytes) => {
    const oneHundredMB = 100 * 1024 * 1024; // 100 MB
    return totalBytes > oneHundredMB && usedBytes / totalBytes < 0.5;
    }
      • (totalBytes , usedBytes ) : boolean
      • 在进程生命周期中首次打开 Realm 时调用的函数,用于确定是否应在将其返回给用户之前对其进行压缩。

        它返回true表示应尝试压缩文件。 如果另一个进程正在访问它,则将跳过压实。

        参数

        • totalBytes : number

          总文件大小(数据 + 可用空间)。

        • usedBytes : number

          文件中数据使用的总字节数。

        返回布尔值

        true 在打开 Realm 文件之前是否应先压缩该文件。

        since

        2.9.0

        例子

        // compact large files (>100 MB) with more than half is free space
        shouldCompact: (totalBytes, usedBytes) => {
        const oneHundredMB = 100 * 1024 * 1024; // 100 MB
        return totalBytes > oneHundredMB && usedBytes / totalBytes < 0.5;
        }
  • Optional 同步?: SyncConfiguration

使用TypeDoc生成