仅使用JavaScript从DynamoDB中的行检索特定数据

时间:2016-08-25 07:36:10

标签: javascript amazon-web-services amazon-dynamodb


使用DynamoDb和"阅读"函数提供here我将如何仅检索特定项目(例如只有名字,姓氏和城市)
我可能不得不添加某种过滤器,但是我无法找到任何可以使用的过滤器。

这是我的表结构(以bpNumber为主键):

Item:{
            "salutationCode": "02",
            "lastName1": "Berg",
            "firstName": "Anne",
            "street": "Am Dächle",
            "streetNumber": "22/2",
            "zipcode": "33425",
            "countryCode": "DE",
            "city": "Hausen",
            "bpNumber": 222,
            "dateOfBirth": "1955-07-01",
            "attri": [
              {
                "attri1":"nonono"
              },
              {
                "attri2": "yeayeayea"
              }
            ]

        }

这就是"阅读"方法I使用:

read(){
        var docClient = new AWS.DynamoDB.DocumentClient()

        var table = "businessPartnersData";

        var bpNumber = 222;

        var params = {
            TableName: table,
            Key:{
                "bpNumber": bpNumber
            }
        };

        docClient.get(params, function(err, data) {
            if (err) {
                console.error("Unable to read item. Error JSON:", JSON.stringify(err, null, 2));
            } else {
                console.log("GetItem succeeded:", JSON.stringify(data, null, 2));
            }
        });
  }

谢谢你的时间!

1 个答案:

答案 0 :(得分:4)

您可以使用ProjectionExpression:

params.ProjectionExpression = "firstname, lastname, city";

这只会在结果集中为所有项返回这些属性。