Docs 菜单
Docs 主页
/ /
Atlas App Services
/ /

将客户端应用程序中的数据与 Atlas 和其他设备同步

在此页面上

  • 设置 Atlas 访问权限
  • 创建 Atlas App Services 应用
  • 配置 Device Sync
  • 启用身份验证提供程序
  • 生成Atlas App Services模式
  • 将同步添加到客户端应用程序
  • 将客户端连接到 App Services 后端
  • 验证用户身份
  • 打开同步 Realm
  • 将现有数据复制到同步 Realm 中
  • 使用同步 Realm

如果您有使用 Realm 数据库的移动或客户端应用程序,并且您希望在其他设备之间同步其数据并将其备份到 MongoDB Atlas,则可以使用 Device Sync 来实现。 请按照以下概要步骤开始操作:

1

App Services 应用程序是一个网关,使您的客户端设备能够连接 MongoDB Atlas。在创建应用程序时,您可以为其命名,将其链接到 Atlas 集群,并指定最适合应用程序的部署模型和部署区域。

要了解如何创建 App Services App,请参阅创建应用

2

Device Sync 是一项管理与 Atlas 以及跨客户端设备的数据同步的服务。 Device Sync 与 Realm SDK 一起自动管理网络连接、冲突解决、用户身份验证以及用户权限和数据访问。

配置 Device Sync时,您可以指定客户端设备可以访问的数据源,以及确定用户可以读取和写入哪些数据的权限。

您可以通过 Atlas 用户界面、Atlas App Services 命令行界面或 App Services Admin API 配置 Device Sync。第一次配置 Device Sync 时,您可能会发现使用 Atlas 用户界面很有帮助,因为它提供了有关各种设置和选项的链接和信息。

3

您的客户端用户必须进行身份验证才能访问同步的数据。App Services 提供了多个身份验证提供者,使您的用户能够进行身份验证。配置一个或多个这样的身份验证提供者,以便在您的客户端应用程序中启用身份验证。

您可以在App Services App用户界面中配置身份验证提供程序,方法是在左侧导航菜单中选择 Authentication ,然后单击提供商进行配置。 您还可以通过使用Atlas App Services命令行界面 App Services Admin API编辑App Services配置来配置身份验证提供程序。

4

当您已有使用Realm数据库的客户端应用程序时,您可以使用Realm对象模型生成Atlas App Services模式,以在客户端设备和Atlas之间映射数据。 为此,您可以启用开发模式,该功能可从同步的 Realm 数据中读取对象模型数据,并根据该数据生成模式。

有关如何从Atlas App Services RealmRealm 对象模型生成 模式的更多信息,请参阅从 对象模型 Atlas App ServicesRealm模式。

此后,您已完成Atlas端所需的所有设立,并且可以准备客户端应用程序来同步数据。 如果您已经有一个使用Realm数据库持久保存数据的客户端应用程序,则只需添加一些元素即可跨设备并与Atlas同步该数据。

1

在客户端应用程序代码中,初始化应用客户端以将客户端连接到 App Services 后端。这可以让您的客户端使用身份验证等 App Services 功能,并允许打开同步 Realm。

3

有了经过身份验证的用户后,您可以打开 Realm 数据库的同步实例以供该用户使用。

在客户端代码中定义Flexible Sync 查询订阅,以确定要同步到客户端应用程序的数据。Device Sync 查找与查询匹配的 Atlas 文档,用户有权读取和可能写入这些文档,并将这些文档作为 Realm 对象同步到客户端设备。您可以添加、删除或更新 Flexible Sync 查询订阅以更改同步到设备的文档。

4

如果您已有客户端数据,则无法将Device Sync直接添加到非同步域。 您必须将数据从非同步域复制到同步域中。 如果您没有任何客户端数据,可以跳过此步骤。

某些 SDK 提供的方法允许您在打开 Realm 时执行此操作。 但是,许多 Realm SDK 目前不支持将这些方法与 Flexible Sync 结合使用。

如果您的 SDK 不支持将本地 Realm 复制到“Flexible Sync Realm”,则必须编写逻辑来迭代非同步 Realm 中的每个对象,并将其复制到同步 Realm。 这是一次性过程。 复制数据后,您可以丢弃未同步的 Realm,仅打开已同步的 Realm。

5

在同步域上读取、写入和监控变更的语法与非同步域上的语法相同。当您使用本地数据时,后台线程可以高效地集成、上传和下载变更集。当具有写入权限的用户在设备上进行更改时,数据将保留在本地。当用户有网络连接时,数据会自动同步回 Atlas 和其他设备。

后退

与客户端同步 Atlas 数据