0
我使用拉姆達(的NodeJS 4.3)來查詢我有以下DynamoDB:查詢迪納摩 - 錯過了關鍵
var params = {
TableName : "shoes",
KeyConditionExpression: "gender = :gender AND support = :support AND terrain = :terrain",
ExpressionAttributeValues: {
":input": inputGender,
":input": inputSupport,
":input": inputTerrain
}
}
在運行此我得到的是我丟失的錯誤「查詢條件錯過了關鍵架構元素:Id「。這可能只是我的一個基本誤解,但如果我想查詢DynamoDB中的兩個或更多字段,是否需要將它們設置爲鍵或在所有字段上創建索引?
在此先感謝。
這可能是我對Dynamo(第一次定時器)的根本誤解,但我基本上有一個用戶選擇3個字段,然後想要查詢Dynamo的結果。分區鍵現在是一個ID,用戶永遠不會知道這一點來查詢它。這在傳統SQL中顯然非常簡單,因爲「SELECT * FROM Tbl WHERE row1 = X OR row2 = Y OR row3 = Z」類型的東西。將這種思想轉化爲迪納摩的任何指導? – jeremykrall
當我運行它現在我得到「條件只能是1或2的長度」,「 – jeremykrall
不知道還有什麼要告訴你。你讀過我的答案嗎?你肯定有一個基本的誤解,如何執行這種類型在DynamoDB中進行查找您需要執行**掃描**而不是查詢您正在嘗試將DynamoDB視爲SQL數據庫,事實並非如此,我建議花時間閱讀文檔並瞭解其差異。如果你只是在尋找某人爲你修復代碼,至少在你的問題中顯示更多的代碼。 –