をソート。残念ながら、スキャンでソートされたデータは返されません。何かが見つからない限り、空のクエリを持つことはできません。戻るDynamoDBのすべての結果は、私は単にDynamoDBのモデルを持っている
答えて
timestamp_idでソートされたすべてのレコードを取得することはできません。
あなたはtimestamp_idを「id」ごとにソートすることができます。
dynamodb結果をコンポジットキーでソートします。
ので、あなたの場合には、あなたの行がどのように見える場合:
1,3
1,2
2,4
1,5
2,3
あなたの場合の結果は次のとおりです。あなたが見るよう
1,2
1,3
1,5
2,3
2,4
、結果だけtimestamp_idによって並べ替えられますが、ID-されていませんtimestamp_id。
そして、そのクエリはどのように見えますか? –
これはクエリではなくスキャンです。この例では、あなたのアイテムをキーでソートされたように誤って表示されます。あなたが範囲のキーでソートする項目を要求することができますが、あなたは2,3、2,4は単一の値として、パーティションキーを持つように1,2,13,1,5 –
あなたは(のはそれtimestamp_id-index
名前を付けましょう)GSIを作成することができます。
我々はtimestamp_id-index
すべきfixed_val
という名前の属性、および当社のソートキーであることをGoogleのインデックスのパーティション・キーを指定します。
fixed_val
には任意の値が入りますが、常にその値でなければならず、クライアント側から知っている必要があります。この例のために、fixed_val
は常に1
になるとします。
GSIキーはユニークである必要はないので、重複した2つのtimestamp_id
値がある場合は心配しないでください。
あなたはこのようにテーブルを照会します:
var now = Date.now();
//...
{
TableName: "foo",
IndexName: "timestamp_id-index",
ExpressionAttributeNames: {
"#f": "fixed_value"
},
ExpressionAttributeValues: {
":f": 1,
},
KeyConditionExpression: "#f = :f",
// true -> ascending, false -> descending
ScanIndexForward: true
}
そのことは良い習慣が続くかもしれません。彼は多くのスループットのエラーを取得します... –
@EyalChそれは良いアイデアだとは言わなかった。 **しかし**、それはひどいアイデアだテーブルレイアウト –
を再設計することなく、自分の問題を回避するには、ワークロードの最も些細な何でものために、(単一の値をキーとインデックスを作成すること)である - その場合、あなたの中にとにかくメモリをスキャンして並べ替えることができます。 –
- 1. 私はDynamoDBのテーブルを持っているAWSラムダ
- 2. DynamoDBのは、私はこのようなDynamoDBの中にテーブルを持っている状態
- 3. DynamoDBの:私は次のような文書構造を持つDynamoDBのテーブル、ユーザを、持っている文書
- 4. dynamodbの結果を整数に解析するには?
- 5. DynamoDBのは、私はレールを使用してDynamoDBのを勉強していると私は疑問を持ってレール
- 6. dynamoDBのテーブルを結合するには?
- 7. は、私が予約モデルを持っている単一のモデル
- 8. Dynamodbのクエリ結果をブラウザに暗号化する方法は?
- 9. DynamoDBのストリーム同類を更新するために、私は私のバックエンド用のDynamoDBのを使用してい
- 10. は、私は私のDynamoDBのテーブルに、以下のアイテムを持っているのJavascript
- 11. DynamoDBのすべてのレコードを更新するには?
- 12. は、私はこのコードを持っている結果
- 13. AWS DynamoDB Node.jsスキャン - 一定数の結果
- 14. 休止クライテリアAPIの結果は、私が2つの単純なモデルを持っている
- 15. 私はこの結果を持っているしたいラベル
- 16. ファイル名とそのパス辞書は、私はパスを持つテキストファイルを持っているすべての結果
- 17. グループ化した結果、私はこの結果を持っているSQL
- 18. DynamoDB:すべてのアイテムを取得
- 19. CodeIgniterの - >単純な私は私のモデル持っているすべてのクエリ
- 20. Dynamodb - ハッシュキーを持つすべての行を取得
- 21. は簡単に私が持っているモデル
- 22. Node.jsのは、私がこれを持って結果を取り戻す
- 23. AWSのDynamoDB(Amazon Web Services)の結果を照会してスキャンする
- 24. DynamoDBの降順、</p> <p>コレクション名を私はコレクションに100件のレコードを持っている
- 25. 「リアルタイム」DynamoDBストリームはどのようになっていますか?
- 26. ジャンゴ - クエリセット - すべての親が、私はこのモデルを持っている
- 27. Railsの3モデルは3つの機種持っている1つの結果
- 28. は、私は三つのモデルを持っているモデル
- 29. モデルは、私は次のモデルを持っている
- 30. は、私は次のモデルを持っているモデル
DynamoDBのは、このユースケースをサポートしていません。このような状況になった場合は、別のデータストアにパーティションキーを格納し、最初に取得する必要があります。次に、各キーのクエリを順番に発行して、すべてのテーブルのデータを取得することができます –
同じ問題が発生しています。万が一解決策を見つけましたか? ありがとうございます – jurer