将 Atlas 中的数据与客户端应用程序同步
在此页面上
如果您的组织已在 MongoDB Atlas 中拥有数据,则可以使用 Device Sync 和 Realm 数据库将该数据同步到客户端设备。 请按照以下概要步骤开始操作:
设置 Atlas 访问权限
创建 Atlas App Services 应用
App Services 应用程序是一个网关,使您的客户端设备能够连接 MongoDB Atlas。在创建应用程序时,您可以为其命名,将其链接到 Atlas 集群,并指定最适合应用程序的部署模型和部署区域。
要了解如何创建 App Services App,请参阅创建应用。
配置 Device Sync
Device Sync 是托管 Atlas 数据与客户端设备同步的服务。Device Sync 与 Realm SDK 一起自动托管网络连接、冲突解决、用户身份验证以及用户权限和数据访问。
配置 Device Sync时,您可以指定客户端设备可以访问的数据源,以及确定用户可以读取和写入哪些数据的权限。
您可以通过 Atlas 用户界面、Atlas App Services 命令行界面或 App Services Admin API 配置 Device Sync。第一次配置 Device Sync 时,您可能会发现使用 Atlas 用户界面很有帮助,因为它提供了有关各种设置和选项的链接和信息。
启用身份验证提供程序
您的客户端用户必须进行身份验证才能访问同步的数据。App Services 提供了多个身份验证提供者,使您的用户能够进行身份验证。配置一个或多个这样的身份验证提供者,以便在您的客户端应用程序中启用身份验证。
您可以在App Services App用户界面中配置身份验证提供程序,方法是在左侧导航菜单中选择 Authentication ,然后单击提供商进行配置。 您还可以通过使用Atlas App Services命令行界面或 App Services Admin API编辑App Services配置来配置身份验证提供程序。
生成客户端对象模型
当 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 数据库同步数据。
使用同步 Realm
在同步域上读取、写入和监控变更的语法与非同步域上的语法相同。当您使用本地数据时,后台线程可以高效地集成、上传和下载变更集。当具有写入权限的用户在设备上进行更改时,数据将保留在本地。当用户有网络连接时,数据会自动同步回 Atlas 和其他设备。
有关如何使用 Realm 数据库执行常见任务的快速指南,请参阅 Realm 软件开发工具包(Realm SDK)快速入门。
如果您更愿意通过研究有效的客户端应用程序来学习,某些 SDK 提供了有效的 Device Sync 应用程序,我们将其称为模板应用程序。 (可选)您可以Go基于 Device Sync 模板应用的特定于 SDK 的教程。
C++ SDK
Flutter SDK
Java SDK
Kotlin SDK
.NET SDK
Node.js SDK
React Native SDK
Swift SDK