我有一個使用散列鍵和排序(範圍)鍵的表。我的範圍鍵是一個uuid。我有一個我想要查詢數據庫以使用DynamoDBMapper的任意一組範圍鍵的情況。它們絕不是連續的,不幸的是,對我而言,它們不可能是連續的,所以我不能查詢一系列的鍵(即鍵在a和b之間)。有什麼辦法可以有一個查詢條件來搜索一組潛在值中的範圍鍵?本質上是一個SQL WHERE條件,如:rangeKey IN(val1,val2,...);DynamoDB:在一系列非連續範圍鍵中查詢範圍鍵
根據DynamoDBQueryExpression的文檔,使用setKeyConditionExpression或setRangeKeyConditions似乎不可能。有沒有這樣做的有效方法?或者,我最好的辦法是迭代我的潛在值集合,並使用load方法從數據庫中單獨檢索它們?
你能分享一些關於你的數據模型的更多細節嗎?使用uuids作爲範圍鍵似乎有點奇怪,因爲它們沒有自然順序。 – hellomichibye
我第二hellomichibye的評論。這聽起來像你的數據模型需要一些工作。使用UUID作爲範圍鍵是沒有意義的。 –
我同意這不是理想的,但它是我們想出的最佳解決方案。我們爲通過散列鍵訪問的不同客戶提供數據庫分區。在分區內,所有文檔都相互獨立,因此任何排序或排序都是任意的。此查詢是必需的,因爲我們有一個將多個文檔關聯到另一個實體的引用表。但是,對該實體的參考文檔經常變化,所以任何排序或排序都是非常隨意的。 –