2016-11-19 68 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参数按排序键以 或相反顺序获得结果。