行の取得
Catalyst Data Storeのテーブルから、単一行または複数行のデータを取得できます。これらのコードスニペットで使用されている table オブジェクトは、コンポーネントインスタンスページで定義されています。
行オブジェクトの取得
Data Storeのテーブルから行を取得する前に、以下に示すように行の一意のRow IDを使用して行オブジェクトを作成する必要があります。これはサーバーサイドの呼び出しを発生させません。
//Create a row object using the Rowid
var datastore = catalyst.table;
var table = datastore.tableId("ShipmentTracking");
var row = table.rowId("12781121212121");
単一行の取得
get() メソッドを使用して、テーブルから単一行を取得できます。以下に示すように、前のセクションで作成した行オブジェクトに行の一意のRow IDを渡す必要があります。
ここで返されるPromiseは、content キーに行オブジェクトを含むJSON行オブジェクトに解決されます。
//Fetch the row details by passing the row ID to the row object
var datastore = catalyst.table;
var table = datastore.tableId('ShipmentTracking');
var row = table.rowId("12781121212121");
var rowPromise = row.get();
rowPromise.then((response) => { console.log(response.content); }) .catch((err) => { console.log(err); });
受け取るサンプルレスポンスを以下に示します。レスポンスはWeb SDKの全バージョンで同じです。
{
CREATORID: "2136000000006003",
MODIFIEDTIME: "2021-08-17 13:02:11:184",
CREATEDTIME: "2021-08-16 16:29:10:499",
CityName: "Pune",
ROWID: "2136000000011011"
}
ページネーションによる全行の取得
getPagedRows() ファンクションを使用して、コードにページネーションを組み込むことで、Data Storeのテーブルからすべての行データを取得できます。ページネーションを使用すると、テーブルの行をイテレーションを通じてバッチまたはページ単位で取得できます。
このイテレーションは、以下のサンプルコードに示すように hasNext によって検証され、すべての行が取得されるまで実行されます。テーブルは一意のテーブルIDまたは名前で参照できます。
たとえば、個別のページとして100件ずつバッチで行を取得する場合、以下に示すように max_rows パラメータのカウントを100に指定できます。
また、ループの各実行後、レスポンスデータに後続のデータ取得を認可するトークン文字列が返されます。以下に示すように、後続のイテレーション中に next_token パラメータを通じてこのトークンを渡す必要があります。ループの最初の実行時、next_token 文字列の値は undefined が割り当てられます。次のレコードセットは、レスポンスデータの more_records を通じて取得されます。
{
if (!hasNext) {
return;
}
catalyst.table
.tableId('userDetails') //Specify the Table ID or Table name of the table to fetch the records from
.getPagedRows({ next_token, max_rows: 100 }) //1ページで取得する最大行数を定義する and pass it along with nextToken
.then(resp => {
console.log('rows : ', resp.content); //テーブルから行を取得する
return getMyPagedRows(resp.more_records, resp.next_token); //次のレコードセットと次の反復用のトークン文字列を取得する
})
.catch((err) => {
console.log(err.toString());
});
}
さらにレコードが利用可能な場合に受け取るサンプルレスポンスを以下に示します。この場合、more_records パラメータは true に設定されます。
Web SDK v3.1.0
{
"status": 200,
"content": [
{
"CREATORID": "3359000000006003",
"MODIFIEDTIME": "2022-01-11 18:18:24:855",
"name": "raj",
"CREATEDTIME": "2022-01-11 18:18:24:855",
"ROWID": "3359000000108111"
},
{
"CREATORID": "3359000000006003",
"MODIFIEDTIME": "2022-01-11 18:18:25:117",
"name": "raj",
"CREATEDTIME": "2022-01-11 18:18:25:117",
"ROWID": "3359000000108114"
},
{
"CREATORID": "3359000000006003",
"MODIFIEDTIME": "2022-01-11 18:18:25:120",
"name": "raj",
"CREATEDTIME": "2022-01-11 18:18:25:120",
"ROWID": "3359000000108117"
}
],
"message": "OK",
"more_records": true,
"next_token": "{{token}}"
}
これ以上レコードが利用できない場合に受け取るサンプルレスポンスを以下に示します。この場合、more_records パラメータは false に設定されます。
{
"status": 200,
"content": [
{
"CREATORID": "3359000000006003",
"MODIFIEDTIME": "2022-01-11 18:18:43:556",
"name": "raj99",
"CREATEDTIME": "2022-01-11 18:18:43:556",
"ROWID": "3359000000108410"
},
{
"CREATORID": "3359000000006003",
"MODIFIEDTIME": "2022-01-11 18:18:43:557",
"name": "raj98",
"CREATEDTIME": "2022-01-11 18:18:43:557",
"ROWID": "3359000000108413"
},
{
"CREATORID": "3359000000006003",
"MODIFIEDTIME": "2022-01-11 18:18:43:568",
"name": "raj96",
"CREATEDTIME": "2022-01-11 18:18:43:568",
"ROWID": "3359000000108417"
}
],
"message": "OK",
"more_records": false
}
最終更新日 2026-03-24 17:38:39 +0530 IST
Yes
No
Send your feedback to us