--- title: "インデックスのクエリ" url: https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/cloud-scale/nosql/query-index/ description: "Catalyst NoSQLは、非リレーショナルかつ非SQLのデータストレージ手段を提供する、フルマネージドで強力なデータベースです。このページでは、NoSQLインデックスをクエリするためのSDKメソッドについて説明します。" last_updated: 2026-03-24T12:08:39Z service: Cloud Scale type: general related_links: - name: "NoSQL" url: /ja/cloud-scale/help/nosql/introduction - name: "Table Keys" url: /ja/cloud-scale/help/nosql/components/#table-keys - name: "Query Index" url: /ja/sdk/nodejs/v2/cloud-scale/nosql/query-index/ --- # NoSQLでのインデックスのクエリ Catalystでは、[NoSQL](https://docs.catalyst.zoho.com/ja/cloud-scale/help/nosql/introduction/)インデックスをクエリし、インデックスの[プライマリキー](https://docs.catalyst.zoho.com/ja/cloud-scale/help/nosql/components/#table-keys)を使用してアイテムを識別することでデータを取得できます。インデックスを使用すると、メインテーブルのプライマリキーを使用せずにテーブルデータに対して代替クエリを実行できます。インデックスはCatalystコンソールから設定できます。インデックスのパーティションキーのみ、またはパーティションキーとソートキーの組み合わせを使用してアイテムを取得できます。 > **Note:** Catalystでは、1回のSDK操作でNoSQLテーブルからページネーション付きで最大100件のアイテムを一括取得できます。SDKレスポンスで受信した`start_key`トークンを使用して、ページネーションのロジックを構築する必要があります。 属性、必要な値、および使用するサポートされる演算子を指定して、アイテムを識別するキー条件を定義できます。サポートされる演算子は以下のとおりです。
Operators Notation
CONTAINS `contains`
NOT_CONTAINS `not_contains`
BEGINS_WITH `begins_with`
ENDS_WITH `ends_with`
IN `in`
NOT_IN `not_in`
BETWEEN `between`
NOT_BETWEEN `not_between`
EQUALS `equals`
NOT_EQUALS `not_equals`
GREATER_THAN `greater_than`
LESS_THAN `less_than`
GREATER_THAN_OR_EQUALS `greater_equal`
LESSER_THAN_OR_EQUALS `less_equal`
AND `AND`
OR `OR`
以下の例では、インデックス`FruitIdentifier`のパーティションキー`fruitColor`を使用してアイテムを識別し、条件値を「yellow」として指定してクエリを実行しています。クエリは`queryIndex()`メソッドを使用して実行されます。 Catalyst NoSQLでは、`consistent_read`を使用して読み取り操作をマスタークラスターまたはスレーブクラスターのどちらで実行するかを指定したり、返される行数を制限したり、昇順のソート順序を指定するなど、クエリの他の要素も定義できます。 > **Note:** マスター・スレーブレプリケーションでは、マスターにはデータベースのすべてのデータが含まれ、スレーブにはマスターからのコピーが含まれます。スレーブから読み取り操作を実行すると、更新されたデータの反映にわずかな遅延が生じるというトレードオフがありますが、全体的なコストを削減できます。 `zcatalyst-sdk-node`パッケージの`no-sql`ライブラリは、NoSQLアイテムの定義に必要です。 ```javascript const { NoSQLMarshall, NoSQLEnum } = require('zcatalyst-sdk-node/lib/no-sql'); const { NoSQLOperator } = NoSQLEnum; //パーティションキーfruitColourの値「yellow」で識別されるアイテムを取得するためにNoSQLテーブルインデックスをクエリする const queriedIndexItems = await table.queryIndex('FruitIdentifier', { //アイテムをクエリするためのキー条件を定義する key_condition: { attribute: 'fruitColor', //使用するサポートされた演算子を定義する operator: NoSQLOperator.EQUALS, value: NoSQLMarshall.makeString('yellow') }, // consistent_readをtrueに設定してマスターからクエリする。falseに設定するとスレーブからクエリされる。 consistent_read: true, //値を指定して返される行数を制限する limit: 15, // forward_scanをtrueに設定して結果を昇順にソートする。それ以外の場合は降順にソートされる。 forward_scan: true }); ```