0
我正在使用rails學習DynamoDB,並且我有疑問。 我無法在網上找到解決方案,所以如果你能解決它,我會感謝。DynamoDB包含使用rails的數組中的值
的疑問是我怎樣才能找到值到保存在一個表陣列,例如:
我在MY_TABLE大量的數據,其中有三個字段是數組類似的「數字」:
[1,2,3,4]
[3,4,5,6]
[1,3,4,7]
[4,7,8,10]
[8,9,12,14]
[12,14,16,20]
所以,我想選擇包含數字1,3,4的所有條目。在這種情況下有四個結果。
所以,我的代碼是
result = dynamodb.scan({
table_name: "my_table",
select: "ALL_ATTRIBUTES",
attributes_to_get: ["numbers"],
scan_filter: {
"numbers" => {
attribute_value_list: [1,3,4],
comparison_operator: "CONTAINS"
}
}
})
但我得到這個錯誤:一個或多個參數值無效:參數(S)的數量無效的CONTAINS ComparisonOperator
我該怎麼做採用發電機數據庫的行動?
非常感謝
嗨Nabeel, 我會試試,但過濾器是動態的,那麼這種方式可能是不尋常的。 但這個例子給我一個燈......我會測試。 – sidneivl
有一點需要注意的是,掃描過濾仍然會使您在項目讀取/寫入方面的成本與完全掃描相同。這是因爲過濾是在獲取數據之後應用的,但是在返回給您之前,您可以自己過濾它(但可能包括必須處理分頁,1 MB大小限制等)。 –
我嘗試了你的方式和另一種方式,但現在我得到了「堆棧級別太深」的錯誤,所以,我退出Dynamodb並返回到Postgres,我得到了2行代碼的結果。 未來我會嘗試DynamoDB,也許...... – sidneivl