Docs Menu
Docs Home
/ /
Atlas Device SDK
/ / /

コレクション - React Native SDK

項目一覧

  • 結果
  • リスト
  • 結果は遅延評価される
  • コレクションはライブ
  • コレクションの操作
  • クエリ結果の制限
  • ページ分割
  • 概要

Realm にはオブジェクトのグループを表すいくつかのタイプがあります。これをコレクションと呼びます。 コレクションは、1 つのRealm タイプの 0 個以上のインスタンスを含むオブジェクトです。

Realm のクエリ エンジンを使用して、任意のコレクションをフィルタリングおよびソートできます。 コレクションはライブであるため、現在のスレッド上の Realm インスタンスの現在の状態を常に反映します。 コレクション通知をサブスクライブして、コレクションの変更をリッスンすることもできます。

結果コレクションは、クエリ操作の遅延評価された結果を表します。 結果は不変です。結果コレクションに要素を追加したり、結果コレクションから要素を追加したり、削除したりすることはできません。 結果には、その内容を決定する関連付けられたクエリがあります。

Tip

以下も参照してください。

Listは、2 つの Realm タイプ間の対多の関係を表します。 リストは可変です。書込みトランザクション内で、リストに要素を追加および削除できます。 リストはクエリに関連付けられておらず、オブジェクトモデルのプロパティとして宣言されます。

Tip

以下も参照してください。

Realm は、そのクエリの結果をリクエストした場合にのみクエリを実行します。 この遅延評価により、大規模なデータセットや複雑なクエリを処理するための洗練された高性能なコードを書込むことができます。

ライブ オブジェクトと同様に、Realm コレクションは通常ライブ されます。

  • ライブ結果のコレクションには、関連付けられているクエリの現在の結果が常に反映されます。

  • ライブ リストには、Realm インスタンス上の関係の現在の状態が常に反映されます。

以下の場合、コレクションはライブではありません

  • これは .. の を使用して反復処理している 結果のコレクション です。 または .. の ステートメント。コレクションのオブジェクトを削除または変更して、結果コレクションを生成したフィルターから除外された場合でも、両方のステートメントはコレクション内のオブジェクトを反復処理します。

  • コレクションは固定された結果.snapshot() です。

コレクション通知と組み合わせると、ライブ コレクションによりリアクティブなコードが可能になります。 たとえば、ビューにクエリの結果が表示されるとします。 ビュー クラスで結果コレクションへの参照を保持すると、結果コレクションを更新したり最新であることを検証したりすることなく、必要に応じて結果コレクションを読み取ることができます。

重要

インデックスは変更される可能性があります

結果は自動的に更新されるため、 コレクション内のオブジェクトの位置インデックスやコレクション内のオブジェクトの数を保存しないでください。 保存されたインデックスやカウント値は、使用する時間によって期限切れになる可能性があります。

遅延評価の結果、Realm でクエリ結果を制限するために特別なメカニズムは必要ありません。 たとえば、クエリが数千のオブジェクトと一致するが、最初の 10 個のオブジェクトのみをロードする場合は、結果コレクションの最初の 10 個の要素のみにアクセスします。

遅延評価の代わりに、ページ区切りの一般的なタスクが非常に簡単になります。 たとえば、Realm 内の数千のオブジェクトに一致するクエリに関連付けられた結果コレクションがあるとします。 ページごとに 100 個のオブジェクトを表示します。 任意のページに進むには、ターゲット ページに対応するインデックスから、結果コレクションの要素にアクセスします。

戻る

プロパティ タイプ