同步数据模型概述
Overview
要使用 Atlas Device Sync,您必须以两种格式定义 Realm 数据模型:
App Services Schema :以 BSON 格式定义数据的服务器端模式。 Device Sync 使用 App Services 模式将数据转换为 MongoDB 文档,并强制执行验证,并在客户端设备和 Atlas 之间同步数据。
Realm 对象模式:使用 Atlas Device SDK 和 Realm Core 数据库定义的客户端数据模式。 每个 Atlas Device SDK 都以其自己的特定语言方式定义 Realm 对象模式。 Atlas Device SDK 使用此模式在 Realm 数据库中存储数据,并与 Device Sync 同步数据。
App Services 模式和 Realm 对象模式必须一致,才能使用 Device Sync 同步数据。
您还可以在使用不同 Atlas Device SDK 的客户端之间同步数据,只要它们实现相同的 Realm 对象模式。 这些Realm对象模式也必须与Atlas App Services模式一致。
例如,您有一个 iOS 应用程序和一个 Android 应用程序,其 Realm 对象模式分别使用适用于 Swift 的 Atlas Device SDK 和适用于 Kotlin 的 SDK 定义。 这两个移动应用程序使用相同的 App Services App with Device Sync 来同步数据。 Swift SDK模式和Kotlin SDK模式必须都与相同的Atlas App Services模式一致。
创建数据模型
您可以通过几种方式创建 Device Sync Realm 数据模型。
如果Atlas中已有数据,则可以通过采样该数据来生成Atlas App Services模式。 然后,您可以为每个 Atlas Device SDK 生成 Realm 对象模式。
如果您希望首先使用 Atlas Device SDK 来开发 Realm 对象模式,请使用开发模式。 使用开发模式时,当您使用 从客户端同步数据时,Device Sync 会自动生成Atlas App Services Atlas Device SDK模式。
有关这些数据建模方法的更多信息,请参阅创建 Realm 数据模型。
更新数据模型
使用 Atlas Device Sync 开发应用程序时,您可能需要更改您的 Realm 数据模型。这意味着您还需要更新 App Services 模式和 Realm 对象模式。
有关如何执行不同类型的Realm 数据模型更改的更多信息,请参阅更新Realm 数据模型。
数据模型映射
要详细了解使用开发模式时 Realm 对象模式如何映射到 App Services 模式,请参阅数据模型映射。