Realm 数据库。

构造函数

属性

同步会话: null | 会话

同步会话(如果这是同步 Realm)

默认路径: 字符串 = ...

访问器

  • get isInTransaction ( ) : boolean
  • 指示此 Realm 是否处于写事务(write transaction)中。

    返回布尔值

    true 如果处于写事务(write transaction)中,否则为false

    since

    1.10.3

方法

  • 为指定的 eventName 添加侦听器回调。

    参数

    • eventName : RealmEventName

      应导致调用回调的事件的名称。

    • 回调 : RealmListenerCallback

      发生变更事件时调用的函数。 对于每个事件,每个回调只会调用一次,无论该事件被添加多少次。

    返回void

    抛出异常

    如果提供的事件 eventName 无效、Realm 已关闭或回调不是函数,则会出现错误。

  • 启动写事务(write transaction)。

    进行事务时,强烈建议进行错误处理。 如果不处理错误,数据可能会不一致。 错误处理通常涉及取消事务。

    返回void

    抛出异常

    如果已处于写事务(write transaction)中,则出现错误

    例子

    realm.beginTransaction();
    try {
    realm.create('Person', { name: 'Arthur Dent', origin: 'Earth' });
    realm.create('Person', { name: 'Ford Prefect', origin: 'Betelgeuse Five' });
    realm.commitTransaction();
    } catch (e) {
    realm.cancelTransaction();
    throw e;
    }
  • 关闭此 Realm,以便可以使用较新的模式版本将其重新打开。 调用此方法后,此 Realm 中的所有对象和collection都不再有效。该方法是幂等的。

    返回void

  • 将此 Realm 中的所有字符串列替换为字符串枚举列,并压缩数据库文件。

    无法从写事务(write transaction)中调用。

    如果存在其他Realm实例,则不会进行压缩。

    正在进行压实时,其他线程或进程打开数据库的尝试将等待。

    请注意,压实所需的资源与数据库中的实时数据量成正比。压实的工作原理是将数据库内容写入临时数据库文件,然后用临时数据库替换数据库。

    返回布尔值

    true 如果压缩成功,则返回false

  • 删除提供的 Realm 对象,或提供的 collection 内的每个对象。

    参数

    • subject :任何

      要删除的 Realm 对象,或包含多个要删除的 Realm 对象的 collection。

    返回void

  • 删除所有事件侦听器(仅限于事件 eventName,如果提供)。

    参数

    • Optional eventName : RealmEventName

      应删除其侦听器的事件的名称。

    返回void

    抛出异常

    提供无效的事件 eventName 时出现错误。

  • 在写事务(write transaction)中同步调用提供的回调。如果事务内部发生异常,您将丢失该事务中的更改,但 Realm 本身不会受到影响(或损坏)。 更准确地说,将自动调用beginTransactioncommitTransaction 。 如果在事务期间抛出任何异常,则将调用cancelTransaction而不是commitTransaction ,并且该异常将被重新抛出给write的调用者。

    嵌套事务(在 write 中调用 write )是不可能的。

    类型参数

    • t

    参数

    • 回调 : ( ( ) => T )

      要在写事务(write transaction)中调用的函数。

        • (): t
        • 返回T

    返回T

    回调的返回值。

  • 使用给定配置写入 Realm 的压缩副本。

    目标文件不能已存在。 支持同步和非同步 Realm 之间的所有转换,并将根据描述所需输出的配置参数执行。

    请注意,如果从写事务中调用此方法,则写入当前数据,而不是提交上一个写事务时的数据。

    参数

    • config配置

      描述输出 Realm 的 Realm 配置。

    返回void

  • 复制任何 Realm 文件(即 *.realm )从应用程序目录复制到应用程序的文档目录中,以便 Realm 可以打开和使用它们。 如果该文件已存在于文档目录中,则不会覆盖该文件,因此可以安全地多次调用该文件。

    应在打开 Realm 之前调用此函数,以便将捆绑的 Realm 文件移动到可以写入的位置。

    返回void

    例子

    // Given a bundled file, example.realm, this will copy example.realm (and any other .realm files)
    // from the app bundle into the app's documents directory. If the file already exists, it will
    // not be overwritten, so it is safe to call this every time the app starts.
    Realm.copyBundledRealmFiles();

    const realm = await Realm.open({
    // This will open example.realm from the documents directory, with the bundled data in.
    path: "example.realm"
    });

    这仅适用于 React Native。

    抛出异常

    如果发生 I/O 错误或未实现方法,则返回错误。

  • 为 Realm 模型类创建模板对象,其中所有可选字段均未定义,所有必填字段均具有给定数据类型的默认值,该值要么是模式中默认属性设置的值,要么是数据类型的默认值,如果模式未指定 1,即 0、false 和 ""。

    类型参数

    • t 扩展 记录<字符串, 未知>

    参数

    返回T

  • 删除给定配置的 Realm 文件。

    参数

    • config配置

      正在删除的 Realm 的配置。

    返回void

    抛出异常

    如果提供的配置中的任何内容无效,则出现错误。

  • 检查磁盘上是否已存在 Realm。

    参数

    • arg : string |配置= {}

      Realm 的配置或其路径。

    返回布尔值

    true 如果设备上存在该 Realm,则返回false

    抛出异常

    如果提供的配置中的任何内容无效,则出现错误。

  • 使用 Promise 异步打开 Realm。 如果 Realm 已同步,则在可用之前将完全同步。 对于基于查询的同步,Configuration.scheme | config.schema 是必需的。 如果 Configuration.scheme | config.schema 未定义。

    参数

    • arg : string |配置= {}

      Realm 的配置或其路径。

    返回ProgressRealmPromise

    在 Realm 实例可用时,将使用 Realm 实例来解决的 Promise。

    抛出异常

    如果提供的参数中的任何内容无效,则出现错误。

  • 获取给定路径中 Realm 的当前模式版本。

    参数

    • 路径字符串

      存储 Realm 数据库的文件的路径。

    • Optional EncryptionKey : ArrayBuffer | EncryptionKey ArrayBufferView

      仅在访问加密 Realm 时需要。

    返回数字

    整数形式的模式版本;如果路径中不存在 Realm,则为-1

    抛出异常

    如果传递无效或不匹配的加密密钥,则出现错误。

    since

    0.11.0

  • 设置日志级别。

    参数

    • level : LogLevel

      记录器要使用的日志级别。 默认值为info

    返回void

    注意

    可以在应用程序的生命周期内更改日志级别。

    since

    12.0.0

  • 设置记录器回调。

    参数

    • loggerCallback : LoggerCallback

      记录器调用的回调。 默认回调使用console.logconsole.warnconsole.error ,具体取决于消息级别。

    返回void

    注意

    在打开第一个 Realm 之前,需要设置记录器回调。

    since

    12.0.0

使用TypeDoc生成