--- title: "行の取得" url: https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/cloud-scale/data-store/get-rows/ description: "このページでは、NodeJS アプリケーションの Data Store のテーブルから単一行またはすべての行を取得する方法について、サンプルコードとともに説明します。" last_updated: 2026-03-30T08:10:30Z service: Cloud Scale type: general related_links: - name: "Get rows - API" url: /ja/api/code-reference/cloud-scale/data-store/get-all-rows/#GetAllRows - name: "Data Store" url: /ja/cloud-scale/help/data-store/introduction --- # 行の取得 [Catalyst Data Store](https://docs.catalyst.zoho.com/ja/cloud-scale/help/data-store/introduction) のテーブルから、単一行または複数行のデータを取得できます。これらのコードスニペットで使用している `table` の参照は、[テーブルインスタンス](https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/cloud-scale/data-store/get-table-instance)または[テーブルメタ](https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/cloud-scale/data-store/get-table-meta)のいずれかです。 ### 単一行の取得 `getRow()` メソッドを使用して、テーブルから単一行を取得できます。以下のサンプルコードに示すように、このメソッドに行の一意の Row ID を渡す必要があります。 ここで返される Promise は JSON の行オブジェクトに解決されます。 ```javascript //テーブルインスタンスまたはテーブルメタオブジェクトを使用して行IDを渡して行を取得する let rowPromise = table.getRow(1510000000109476); ``` 受信するサンプルレスポンスを以下に示します。レスポンスは Node.js の両方のバージョンで同じです。 ```javascript { CREATORID: "2136000000006003", MODIFIEDTIME: "2021-08-17 13:02:11:184", CREATEDTIME: "2021-08-16 16:29:10:499", CityName: "Pune", ROWID: "2136000000011011" } ``` ### ページネーションによる全行の取得 `getMyPagedRows()` 関数を使用してコードにページネーションを組み込むことで、Data Store のテーブルからすべてのデータ行を取得できます。ページネーションを使用すると、イテレーションを通じてテーブルの行をバッチまたはページ単位で取得できます。 このイテレーションは、以下のコードに示すように `hasNext, ` で検証されるすべての行が取得されるまで実行されます。テーブルは一意のテーブル ID で参照できます。 たとえば、各ページで 100 行ずつのバッチで行を取得する場合、各ページで取得する最大行数の変数を定義し、数を指定できます。以下のサンプルコードでは、`maxRows` を 100 に設定しています。 > **Note: ** `maxRows` パラメータはオプションです。この値を指定しない場合、SDK の呼び出しはデフォルトで 1 ページあたり 200 行を返します。 さらに、ループの各実行後に、後続のデータ取得を認可するトークン文字列がレスポンスデータに含まれます。このトークンは `next\_token` を通じて取得でき、以下のコードに示すように、後続のイテレーション時に `nextToken` の値として渡します。ループの最初の実行時、`nextToken` 文字列の値は `undefined` に設定されます。次のレコードセットは、レスポンスデータの `more\_records` を通じて取得されます。 > **Note:** ページネーションは Node.js SDK v2.1.0 アップデートから利用可能になりました。古いバージョンの Node.js SDK では利用できません。 ```javascript //ページネーションで行を取得し、最初のイテレーションではnextTokenの値をundefinedとして宣言する function getMyPagedRows(hasNext = true, nextToken = undefined) { if (!hasNext) { return; } dataStore.table(195000000042025) //レコードを取得するテーブルのテーブルIDを指定する .getPagedRows({ nextToken, maxRows: 100 }) //1ページで取得する最大行数を定義する and pass it along with nextToken .then(({ data, next_token, more_records }) => { console.log('rows : ', data); //テーブルから行を取得する return getMyPagedRows(more_records, next_token); //次のレコードセットと次の反復用のトークン文字列を取得する }) .catch((err) => { console.log(err.toString()); }); } ``` さらにレコードがある場合に受信するサンプルレスポンスを以下に示します。この場合、`more_records` パラメータは `true` に設定されます。 #### Node.js v2.1.0 ```json { "status": 200, "data": [ { "CREATORID": "3359000000006003", "MODIFIEDTIME": "2022-01-11 18:18:24:855", "name": "Alex Jones", "CREATEDTIME": "2022-01-11 18:18:24:855", "ROWID": "3359000000108111" }, { "CREATORID": "3359000000006003", "MODIFIEDTIME": "2022-01-11 18:18:25:117", "name": "Robert Neal", "CREATEDTIME": "2022-01-11 18:18:25:117", "ROWID": "3359000000108114" }, { "CREATORID": "3359000000006003", "MODIFIEDTIME": "2022-01-11 18:18:25:120", "name": "Roslyn Gunn", "CREATEDTIME": "2022-01-11 18:18:25:120", "ROWID": "3359000000108117" } ], "message": "OK", "more_records": true, "next_token": "{{token}}" } ``` これ以上レコードがない場合に受信するサンプルレスポンスを以下に示します。この場合、`more_records` パラメータは `false` に設定されます。 #### Node.js v2.1.0 ```json { "status": 200, "data": [ { "CREATORID": "3359000000006003", "MODIFIEDTIME": "2022-01-11 18:18:43:556", "name": "Alex Jones", "CREATEDTIME": "2022-01-11 18:18:43:556", "ROWID": "3359000000108410" }, { "CREATORID": "3359000000006003", "MODIFIEDTIME": "2022-01-11 18:18:43:557", "name": "Robert Neal", "CREATEDTIME": "2022-01-11 18:18:43:557", "ROWID": "3359000000108413" }, { "CREATORID": "3359000000006003", "MODIFIEDTIME": "2022-01-11 18:18:43:568", "name": "Roslyn Gunn", "CREATEDTIME": "2022-01-11 18:18:43:568", "ROWID": "3359000000108417" } ], "message": "OK", "more_records": false } ``` > **Note:** 以前テーブルから複数行のデータを取得するために提供されていた `getAllRows()` メソッドのサポートは廃止されました。ページネーションは、取得する行数に制限なくすべての行を取得できる拡張機能として利用可能になりました。`getAllRows()` メソッドは、今後のすべての SDK バージョンから削除される予定です。コードを適宜アップグレードしてください。