2017-01-30 29 views
0

我試圖執行一個查詢,我想要檢索所有具有2個定義值之間的高度和寬度,這樣的項目:AWS DynamoDB查詢與起點和終點價值

let queryExpression = AWSDynamoDBQueryExpression() 

queryExpression.filterExpression = ":widthSmall < #width < :width AND :heightSmall < #height < :height" 
queryExpression.keyConditionExpression = "#addedByType = :addedByType" 
queryExpression.expressionAttributeNames = ["#addedByType": "addedByType", "#width": "widthSmall","#height": "heightSmall","#width": "width","#height": "height"] 
queryExpression.expressionAttributeValues = [":addedByType": "APPUSER", ":widthSmall": 50, ":heightSmall": 50, ":width": 100, ":height": 100] 

queryExpression.scanIndexForward = false 
queryExpression.limit = 200 

這雖然會引發以下由於表達式的錯誤屬性名稱

fatal error: Dictionary literal contains duplicate keys 

什麼是正確的方法來檢查如此?

回答

0

好了,所以之後相當多的試驗和錯誤我已經想通了,我在做什麼錯了,結果如下傳來:

queryExpression.filterExpression = ":widthSmall < #width1 AND #width < :width AND :heightSmall < #height1 AND #height < :height" 
queryExpression.keyConditionExpression = "#addedByType = :addedByType" 
queryExpression.expressionAttributeNames = ["#addedByType": "addedByType", "#width1": "width","#height1": "height", "#width": "width", "#height": "height"] 
queryExpression.expressionAttributeValues = [":addedByType": "APPUSER", ":widthSmall": 50, ":heightSmall": 50, ":width": 101, ":height": 101] 

的問題是,我是引用兩次在相同的密鑰詞典