如何在Dynamo DB中使用条件表达式编写查询

时间:2018-09-24 09:31:39

标签: node.js amazon-dynamodb

我想查询发电机数据库表以获取公司ID,但是同一张表需要一个哈希键,因此我的查询就是这样。

        var optsq = {
          'ConsistentRead': true,
          'AttributesToGet': ['companyid'],
          TableName : usertable,
          Key : {
            "userid" : {
              "S" : usrname
            },
            "comapnyid" :{
              "S":''
            }
          }
        };

仅当查询具有公司ID的值时,我的查询才有效,但是我想获取公司ID,我该如何实现。在我的节点js

dynamodb.getItem(optsq, function(err, compdata) {
  if(err){
    console.log(err);
  }else{
    console.log(compdata);
  }

1 个答案:

答案 0 :(得分:0)

您应该执行getItem而不是query,该操作只允许您指定userId

var optsq  = {
    'ConsistentRead': true,
    TableName : usertable,
    KeyConditionExpression: "userid = :userid",
    ExpressionAttributeValues: { ":userid": usrname },
    ProjectionExpression: "companyid" }