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 直接添加到非同步 Realm。您必须将数据从非同步 Realm 复制到同步 Realm。如果您没有任何客户端数据,可以跳过此步骤。

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

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

5

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

后退

与客户端同步 Atlas 数据

来年

将数据从客户端流式传输到 Atlas