クライアント アプリケーションと Atlas のデータを同期する
項目一覧
組織にすでに MongoDB Atlas のデータがある場合は、Device Sync と Realm Database を使用してそのデータをクライアント デバイスに同期できます。 開始するには、次の高レベルの手順に従います。
Atlasアクセスの設定
Atlas App Services アプリの作成
App Services アプリケーションは、クライアント デバイスが MongoDB Atlas に接続できるようにするゲートウェイです。 アプリを作成するときは、名前を付け、Atlas クラスターにリンクし、アプリケーションに最適な配置モデルと配置リージョンを指定します。
App Services Appの作成方法については、「 アプリの作成 」を参照してください。
Device Sync の構成
Device Sync は、Atlas データとクライアント デバイスの同期を管理するサービスです。 Device Sync は、Realm SDK と合わせて、ネットワーク接続、競合の解決、ユーザー認証、ユーザー権限とデータアクセスを自動的に管理します。
Device Sync を構成するときは、クライアント デバイスがアクセスできるデータソースと、ユーザーが読み書きできるデータを決定する権限を指定します。
Device Sync は、 Atlas UI、Atlas App Services コマンドラインインターフェイス、または App Services Admin API経由で構成できます。 Device Sync を初めて構成するときに、Atlas UI を使用すると便利な場合があります。これには、さまざまな設定やオプションに関するリンクと情報が提供されるためです。
認証プロバイダを有効にする
同期されたデータにアクセスするには、クライアント ユーザーは認証を受ける必要があります。 App Services は、ユーザーが認証できるようにするためのいくつかの認証プロバイダを提供します。 クライアント アプリケーションで認証を有効にするには、これらの認証プロバイダの 1 つ以上を構成します。
Atlas App Services App UI 内で認証プロバイダーを構成するには、左側のナビゲーション メニューで [ Authenticationを選択し、構成するプロバイダーをクリックします。 また、 Atlas App Services コマンドライン インターフェースまたは App Services Admin API を使用して App Services 構成を編集し、認証プロバイダを設定することもできます。
クライアント オブジェクトモデルの生成
Atlas にすでにデータがある場合は、そのデータに一致するオブジェクトモデルを生成し、クライアント アプリケーションで使用できます。
オブジェクトモデルを生成するには、App Services スキーマが必要です。 スキーマを作成したら、そのスキーマに一致するオブジェクトモデルを生成できます。 スキーマの生成に使用するプログラミング言語の選択できます。このスキーマを表示およびコピーして、クライアント アプリケーション コードで使用できます。
App Services UI を使用して、既存の Atlas データからスキーマを生成できます。 これを行う方法の詳細については、「 Atlas App Services スキーマから Realm オブジェクト スキーマを作成する 」を参照してください。
スキーマを作成したら、 App Services UI または Atlas App Services コマンドラインインターフェイスを使用して Realm オブジェクトモデルを生成できます。
クライアント アプリケーションへの同期の追加
この後は、Atlas 側で必要なすべてのセットアップが完了し、クライアント アプリケーションでデータを同期する準備ができます。 Device Sync は、Realm Database SDK を使用して Atlas とデータを同期します。 クライアント アプリケーション コードで Realm SDK を使用して Atlas に接続し、デバイス上の Realm Database とデータを同期できます。
同期された Realm を開く
認証されたユーザーを取得したら、Realm Database の同期されたインスタンスを開き、そのユーザーに使用できます。
クライアント コードで Flexible Sync クエリ サブスクリプションを定義して、クライアント アプリケーションに同期するデータを決定します。 Device Sync は、ユーザーが読み取りおよび書込み (write) 権限を持つ クエリに一致する Atlas ドキュメントを検索し、それらのドキュメントを Realm オブジェクトとしてクライアント デバイスに同期します。 Flexible Sync クエリ サブスクリプションを追加、削除、または更新して、デバイスに同期するドキュメントを変更できます。
C++ SDK
Flutter SDK
Java SDK
Kotlin SDK
.NET SDK
Node.js SDK
React Native SDK
Swift SDK
同期された Realm の使用
同期された Realm で変更を読み取り、書込み、監視する構文は、同期されていない Realm の構文と同じです。 ローカル データを操作している間に、バックグラウンド スレッドが変更セットを効率的に統合、アップロード、ダウンロードします。 書込み権限を持つユーザーがデバイスで変更を加えた場合、データはローカルに保持されます。 ユーザーがネットワークに接続すると、データは Atlas などのデバイスに自動的に同期されます。
Realm Database を使用して一般的なタスクを実行する方法のクイック ガイドについては、「 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