--- title: "テーブルのクエリ" url: https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/cloud-scale/nosql/query-table/ 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 Table" url: /ja/sdk/nodejs/v2/cloud-scale/nosql/query-table/ --- # 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)を使用してアイテムを識別することでデータを取得できます。たとえば、パーティションキーのみ、またはパーティションキーとソートキーの組み合わせを使用してアイテムを取得できます。 > **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`
以下の例では、パーティションキー`fruitType`を使用してアイテムを識別し、条件値を「Citrus」として指定して、`queryTable()`メソッドでクエリを実行しています。 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; // パーティションキーfruitTypeの値「citrus」で識別されるアイテムを取得するためにNoSQLテーブルをクエリする const queriedItem = await table.queryTable({ // アイテムをクエリするためのキー条件を定義する key_condition: { // テーブルのパーティションキー属性名を指定する attribute: 'fruitType', // 使用するサポートされた演算子を定義する。BETWEEN、GREATERTHAN、LESSERTHAN、GREATERTHANOREQUALTO、LESSERTHANOREQUALTOも使用可能 operator: NoSQLOperator.EQUALS, // 比較する値を指定する value: NoSQLMarshall.makeString('Citrus') }, // consistent_readをtrueに設定してマスターからクエリする。falseに設定するとスレーブからクエリされる。 consistent_read: true, // 値を指定して返される行数を制限する limit: 10, // forward_scanをtrueに設定して結果を昇順にソートする。それ以外の場合は降順にソートされる。 forward_scan: true }); ```