2016-11-19 114 views
0

我有這個表:dynamodb:與哈希鍵查詢只

  • 域ID字符串HashKey
  • EMAILID串RangeKey,

我在想,如果它僅僅是可能的查詢該表HashKey像這個:

var AWS = require("aws-sdk"); 
var client = new AWS.DynamoDB.DocumentClient(); 
var dm = 'infodinamica.cl'; 

//Set params 
var params = { 
    TableName : 'table-name', 
    KeyConditionExpression: "DomainId = :dm",  
    ExpressionAttributeValues: { 
     ":dm": dm 
    }, 
    Select: 'COUNT' 
}; 

client.query(params, (err, data) => { 
    if(err) 
     console.log(JSON.stringify(err, null, 2)); 
    else 
     console.log(JSON.stringify(data, null, 2)); 
} 

ps:注意這個表有HashKey和RangeKey。

+0

是的,這是可能的。你有什麼錯誤嗎? – notionquest

+0

@notionquest。不,我沒有收到任何錯誤。我正處於設計階段,我想知道這個模型可以解決我的問題,或者如果我需要設置一個全球二分指數。非常感謝 :) –

回答

3

是的,只有使用query API纔可以使用哈希鍵查詢數據。

使用KeyConditionExpression參數爲分區鍵提供特定值 。查詢操作將使用該分區鍵值從表或索引中返回所有 項目。您可以通過在KeyConditionExpression中指定 排序鍵值和比較運算符來選擇性地縮小查詢操作的範圍。 您可以使用ScanIndexForward參數按排序鍵以 或相反順序獲得結果。