ローカル専用アプリの同期可能なアプリへの移行
ローカル Realm を使用するモバイル アプリがあり、そのアプリを Sync を使用するように変換する場合は、次の 3 つのプライマリ タスクがあります。
App Services Appの作成と構成
この新しいバックエンド アプリを指すようにクライアント コードを変更します。
ローカル データを新しい同期された Realm にコピーする
Realm データベースへの読み取りと書き込みの点では、ローカル Realm と同期された Realm の操作に違いはありません。 同期を構成して Realm を開いても、既存のコードは移行前と同じ方法で引き続き動作します。
注意
アプリは複数の Realm を持つことができ、任意の数の Realm を Sync を使用するように移行できます。 たとえば、アプリは、デバイス固有の情報にローカル専用の Realm を引き続き使用しつつ、他のデータには同期された Realm を使用することができます。
App Services アプリの作成
デバイスと MongoDB Atlas 間でデータを同期するには、まず App Services App を作成します。 このアプリは、ユーザー認証、データの暗号化、アクセス制御の形式でセキュリティを備えたデータへのゲートウェイを提供します。
バックエンド アプリの作成を開始するには、「 App Services Appの作成 」の手順に従ってください。
認証を有効にする
Device Sync には認証されたユーザーが必要です。 Atlas App Services は、メール/パスワードや OAuth などのさまざまな認証プロバイダを提供します。 認証を有効にして構成が完了すると、どのデータが誰にアクセスできるかを完全に制御できます。
詳細と開始方法については、「認証プロバイダ 」を参照してください。
同期を有効にする
App Services Appでは、同期の構成が最後の手順です。 同期を設定すると、認証されたユーザーが現在のデータにオンラインでアクセスできるようになります。 オフラインの間、ユーザーは最新データを操作できますが、オンラインに戻るまで変更は同期されません。
Flexible Sync を使用すると、クライアントはクエリに基づいてデータのサブセットを クエリ可能なフィールド と同期します。 Flexible Sync を構成するときは、クライアントがクエリできるフィールドを決定します。 Flexible Sync を有効にするには、 手順 の手順に従います。
クライアント アプリを更新する
Device Sync のバックエンドを設定したので、クライアント アプリのコードにいくつか変更を加える必要があります。 使用している言語やプラットフォームのクイック スタートで Flexible Sync を設定するには、次の手順に従います。
既存のデータのコピー
この時点で、データはまだローカル データベースにのみ存在しています。 Realm がデータを同期する前に、初期コピーを実行する必要があります。 そのためには、次の手順に従い、図を参照してください。
同期された Realm がすでに存在するかどうかを確認します。
存在しない場合は、作成します。 その と の接続を開きます。
ローカル Realm から各レコードを読み取り、同期された Realm のスキーマと一致するように変更します。
変更されたレコードを新しい同期された Realm にコピーします。 アプリに接続すると、Syncはレコードを MongoDB Atlas に自動的にコピーします。
保持するすべてのレコードが新しい邦土にあることを確認します。
ローカル Realm ファイルを削除します。
後続のアプリを読み込むたびに、ローカル Realm が削除されているかどうかを確認します。
注意
同期の構成またはデータのコピー中にエラーが発生した場合は、 App Services App ログ を確認してください。 ログには、同期エラーに関する詳細が記載されています。 多くの場合、クライアントリセットを実行すると、同期移行の問題を解決するのに役立ちます。