Docs 菜单

Docs 主页Atlas App Services

将 Atlas 中的数据与客户端应用程序同步

在此页面上

  • 设置 Atlas Access
  • 创建 Atlas App Services App
  • 配置 Device Sync
  • 启用身份验证提供程序
  • 生成客户端对象模型
  • 将 Sync 添加到客户端应用程序
  • 将客户端连接到 App Services 后端
  • 验证用户身份
  • 打开同步 Realm
  • 使用同步 Realm

如果您的组织已在 MongoDB Atlas 中拥有数据,则可以使用 Device Sync 和 Realm 数据库将该数据同步到客户端设备。 请按照以下概要步骤开始操作:

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

当 Atlas 中已有数据时,您可以生成与该数据匹配的对象模型,以便在客户端应用程序中使用。

要生成对象模型,您必须具有 App Services 模式。 拥有模式后,就可以生成与该模式匹配的对象模型。 您可以选择一种编程语言来生成模式,然后可以查看和复制该模式以在客户端应用程序代码中使用。

您可以使用 App Services 用户界面从现有 Atlas 数据生成模式。 有关如何执行此操作的更多信息,请参阅:从 App Services 模式创建 Realm 对象模式。

拥有模式后,您可以使用App Services 用户界面或 Atlas App Services 命令行界面生成 Realm 对象模型。

此后,您已完成 Atlas 端所需的所有设置,并且可以准备客户端应用程序来同步数据。 Device Sync 使用 Realm 数据库 SDK 与 Atlas 同步数据。您可以在客户端应用程序代码中使用 Realm 软件开发工具包(Realm SDK)连接到 Atlas 并与设备上的 Realm 数据库同步数据。

1

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

3

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

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

4

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

有关如何使用 Realm 数据库执行常见任务的快速指南,请参阅 Realm 软件开发工具包(Realm SDK)快速入门。

如果您更愿意通过研究有效的客户端应用程序来学习,某些 SDK 提供了有效的 Device Sync 应用程序,我们将其称为模板应用程序。 (可选)您可以Go基于 Device Sync 模板应用的特定于 SDK 的教程。

← Device Sync Permissions Guide