0
私はDynamoDBでPHPを使用しています。私は 'スキャン'を使用していくつかのレコードを取得しています。私はMySQLのようにこのクエリでGroup Byを使いたかったのです。助けてください。DynamoDBでgroup byを使用するにはどうすればよいですか?
$result = $client->scan([
'ExpressionAttributeValues' => [
':v1' => [
'S' => '2002',
]
],
'FilterExpression' => 'userId = :v1',
'TableName' => $this->table,
]);
return $result;
以下の答えに加えて、あなたが 'scan'を使ってアイテムをグループ化できると思っているのであれば、DynamoDBはあなたが探しているツールではないかもしれません。テーブルデザイン。 – JHH
スキャンは、テーブルの内容全体を返すために使用され、実質的な読み取り容量単位を消費します。あなたの例では、 'userId'をフィルタリングしています。本当にやりたいことは、' userId'をハッシュキーとして、または 'userId'をキーとしてセカンダリインデックスから' query'することです。現在のコードでは、100万レコードのテーブルが返されます。これは、クライアントがフィルタ式と一致しないものをすべて破棄するためだけです。 – JHH