Device Sync による Atlas データの表示
項目一覧
Realm Studio で Device Sync を使用して MongoDB Atlas に接続できます。 Realm Studio は、Device Sync を使用するアプリケーションと同様に、同期クライアントとして機能します。 ここでは、次の作業が可能です。
フォーカスするオブジェクト スキーマのサブスクライブを追加および削除します。
Realm Studio から Atlas データを直接操作します。
Realm Studio を使用して、開発環境でアプリを実行中に行ったデータの変更を確認したり、権限やサブスクライブの変更を試すことができます。
前提条件
Realm Studio の最小バージョン: 14.1.2 。
Device Sync は Atlas App Services アプリを介して Realm Studio を App Services バックエンドに接続するため、開始する前に次の操作を行う必要があります。
認証が有効になっている Atlas App Services App 方法については、App Services ドキュメントの「 App Services Appの作成」を参照してください。
App Services App ID 。 アプリ ID を見つける方法については、「 アプリ ID の検索 」を参照してください。
Realm Studio は、次のいずれかの認証プロバイダー タイプを使用して、Device Sync 経由で接続できます。
匿名
メールとパスワード
API キー
JSON web token
アプリで メールとパスワード、 APIキー、またはJSON web token認証を使用する場合は、 Realm Studioから接続するときに使用する適切なタイプの認証情報を作成する必要があります。 認証情報の作成の詳細については、App Services のドキュメントを参照してください。
Realm Studio から Atlas への接続
同期データの指定
Atlas に接続すると、Realm Studio には App Services App のスキーマに一致するオブジェクトタイプのリストが表示されます。
App Services スキーマの詳細については、App Services ドキュメントの「スキーマ」を参照してください。
Realm Studio はこれらのスキーマを Realm オブジェクトにマッピングします。 Device Sync を使用してこれらのスキーマが Realm オブジェクトにマッピングされる方法の詳細については、App Services ドキュメントの「データモデル マッピング 」を参照してください。
各オブジェクト タイプのサブスクリプションを追加するまで、オブジェクト タイプのデータは表示されません。 サブスクライブとアプリに対して定義した権限によって、同期されるデータが決まります。
特定のオブジェクト タイプのデータの表示を開始するには、サブスクライブを追加します。 表示されるデータを変更するには、次のいずれかの方法を実行します。
追加のフィルタリングを適用するには、サブスクライブを追加します。
サブスクライブを削除します。
Realm Studio に追加したサブスクライブを変更することはできません。 サブスクライブを変更するには、削除して新しいサブスクライブを追加します。
サブスクリプションを追加する
クエリを提供する
RQL ( RQL )を使用して、 Realm Studioと同期するオブジェクトのクエリを作成します。 クエリに一致するオブジェクトのみが Realm Studio に表示されます。 アプリケーション開発時に、クエリを迅速に検証する方法としてこれを使用できます。
サブスクライブ クエリには、少なくとも 1 つのクエリ可能なフィールドを含める必要があります。 クエリ可能なフィールドの詳細については、App Services ドキュメントの「 クエリ可能なフィールド」を参照してください。
使用可能なクエリ演算子の詳細については、 RQLリファレンスを参照してください。
Device Sync は、Sync サブスクライブ クエリで RQL 演算子のサブセットの使用をサポートしています。 これらの制限の詳細については、「 Flexible Sync RQL の制限 」を参照してください。
例
テンプレート アプリでDevice Sync をブートストラップする場合、テンプレート アプリが使用するサブスクリプションは次のとおりです。
`owner_id == "${user?.id}"`
Realm Studio で該当するデータを表示するには、特定のユーザーの ID を指定して次のクエリを使用します。
owner_id == "67ee25f483c29fa14cfd7295"
Realm Studio に提供した認証情報に適切な権限があるすべてのデータを表示するには、 クエリを使用します。
TRUEPREDICATE
サブスクリプションの削除
同期された変更をリアルタイムで表示
サブスクリプションを追加すると、アプリのルールに基づいて認証情報で許可されている場合は、 オブジェクトを作成、更新、および削除できます。 Device Sync に接続しているときにオブジェクトに変更を加えると、それらの変更は Atlas や他のデバイスと自動的に同期されます。 変更がリアルタイムに反映されるのを確認できます。
Realm Studio でオブジェクトを作成、変更、削除する方法の詳細については、「 Realm ファイル内のオブジェクトの変更」を参照してください。 Device Sync に接続しているときに行った変更を保存するために、何もする必要はありません。 これらの変更は自動的にサーバーと同期され、Atlas に保持されます。
サブスクリプションに一致しないオブジェクト、または書込み (write) 権限がないオブジェクトを変更または追加しようとすると、Device Sync はそれを修正する書込みエラーで応答します。 Realm Studio はこれらの変更を元に戻し、Atlas または他のデバイスと同期しません。 詳しくは、App Services ドキュメントの「 Flexible Sync エラー」セクションでErrorCompensatingWrite
を参照してください。