Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/

修改 Realm 文件中的对象

在此页面上

  • Overview
  • 从逗号分隔值(CSV)导入
  • 浏览至“从逗号分隔值(CSV)导入”选项
  • 选择要导入的逗号分隔值(CSV)
  • 选择对象的目标类
  • 创建对象
  • 考虑对象关系
  • 创建对象
  • 修改对象
  • 更改字段值
  • 更改对象的关系
  • 删除对象
  • 保存数据
  • 使用JSON文件
  • 使用Realm文件

Realm Studio 使您能够查看和修改 Realm 文件中的对象。 您可以:

  • 从逗号分隔值(CSV)导入数据

  • 创建新对象

  • 修改和删除现有对象

然后,您可以将数据另存为 JSON 或 Realm 文件,并将其导入到客户端应用程序或生产数据库中。

注意

如果要在导入数据时使用新类,则必须在开始导入之前创建该类。

1

在 Realm Studio 中,Go: File > Import data from > CSV

2

浏览到您 CSV 文件的位置,然后将其选中。

Open 按钮。

3

您将看到一个下拉选择器,其中包含 Realm 文件中的可用类。 选择导入的数据应成为对象的类。

Import data 按钮。

现在,您将看到根据导入的数据创建的新对象。 每个对象的属性都映射到您在导入期间选择的类的属性。

创建新对象时,请考虑对象之间的关系。 示例,待办事项应用可能有类别和任务。 类别与任务是多对多关系;一个类别可能有许多任务。 任务与类别成反比关系。

在 Realm 中,对多关系表示为链接两个对象的 list属性。 在待办事项应用的示例中, Category类具有list属性,其值是所有相关的Task对象。

在 Realm Studio 用户界面中,您可以选择Category类。 单击要添加任务的类别的[list-of-task]属性,例如“工作”。

显示所选 Category 类以及类别视图的“任务列表”的 Realm Studio 屏幕截图。

您将看到与“工作”类别具有反向关系的所有任务对象。 当您从“工作”列表中创建新任务对象时, Realm Studio会设置与“工作”父类别的反向关系。

显示属于“工作”类别的任务对象和“创建任务”按钮的 Realm Studio 屏幕截图。

从这里开始,您可以创建一个新的任务对象来“查看 PR 1013 ”。 新任务将通过反向关系链接到“工作”类别。

显示用户输入新任务对象属性的 Realm Studio 屏幕截图,以及“创建”按钮。

如果直接选择Task类,则可以创建新的任务对象。 但该任务对象不会与任何父类别具有反向关系。 然后,您必须手动将孤立的任务对象添加其所属的类别中。

1

Realm Studio 的左侧边栏显示构成模式的类。 选择要创建的对象类型的类。

2

决定在何处创建新对象后,您可以通过两种方式执行此操作:

  • 单击应用程序右上角的Create {Class name}按钮

  • 右键单击(或按住 Control 单击)主窗口中的任意位置以调出上下文菜单,然后选择 Create new {Class name}

任一选项都会打开一个对话框,您可以在其中设立对象的属性。 指定所需属性后,按Create按钮。

如果创建的孤立对象未通过链接属性与父对象关联,则需要手动将其添加到链接对象中。 请参阅:修改对象。

在 Realm Studio 中,您可以通过几种方式修改 Realm 对象:

  • 更改字段值

  • 更改对象关系

您可以手动更改对象的字段值:

  • 单击进入对象的字段

  • 输入不同的值

Realm Studio 提供简单的类型验证,例如提供可接受的布尔选项列表: Use "true", "false", "0", or "1" ,或自动将日期转换为有效的日期时间。 但是,此验证可能会导致意外行为。 例如,在int字段中键入“ 123 abc”只会丢弃非数字字符,而不会提供用户反馈或错误。 因此,您需要确保在字段值中输入的数据类型正确。

您可以使用Realm Studio更改一个对象与其他对象的关系。

要添加新的对象关系:

  • 单击进入定义关系的属性

  • 右键单击(或按住 Control 单击)主窗格中的任意位置,然后选择 Add existing {linked class name}

  • 选择要关联的对象,然后按Select按钮

重要

添加对象关系不会删除现有的对象关系。 如果要更改对象关系;示例,将任务从一个类别移动到另一个类别;您还必须删除将任务链接到旧类别的关系。

要删除对象关系:

  • 单击进入定义该关系的属性。

  • 右键单击(或按住 Control 单击)要删除其关系的对象,然后根据关系类型选择Remove selected row from the listDelete selected object

  • 您将看到一个对话框,要求您确认此动作。 按 按钮,确认要删除或删除该对象。

要从 Realm 中删除对象,请执行以下操作:

  • 右键单击(或按住 Control 单击)要删除的对象,然后选择Delete selected object

  • 您将看到一个对话框,要求您确认此动作。 按Delete selected object按钮确认。

提示

如果没有看到Delete selected object选项,您可能是在链接关系列表视图中查看它。 直接Go存储对象的类。

如果您在存储对象的类中,仍然看不到Delete selected objects选项,则可能是因为您选择了另一个对象。 单击以选择要删除的对象,然后右键单击(或按住 Control 单击)以获取删除选项。

由于域对象是活动对象,因此您可以对域文件进行更改,并查看它们实时反映在客户端应用中。 如果您想对数据执行其他操作, Realm Studio会为您提供一些保存选项。 要保存文件,请按照以下步骤操作:

  1. Go File > Save data,然后选择 JSONLocal Realm

  2. 选择文件名和要保存文件的目标位置。

  3. Save 按钮。

如果您已将数据另存为 JSON,则可以将其重新导入到您的应用中。 使用您首选的方法将 JSON 导入到您的应用中。

重要

“扁平化”文件

导出到JSON文件时, Realm Studio使用 扁平 包。如果要在其他应用程序中打开该文件,则需要使用Flatted.parse()

如果将数据保存为 Realm 文件,并且未修改 模式,则可以使用该 Realm 文件直接替换客户端应用程序中的现有 Realm 文件。 只需用新文件替换文件系统上现有的 Realm 文件即可。

或者,您可以保存 Realm 的副本,打开副本,然后对副本进行模式更改。 这将完整保留原始 Realm 文件,但仍允许您对模式进行迭代。 然后,您就可以继续在客户端应用程序中使用现有的 Realm 文件,而无需执行迁移。 您可以随意使用第二个 Realm 文件测试新模式的迁移。

后退

浏览 Realm 文件