首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lambda -通过Lambda查询DynamoDB

Lambda -通过Lambda查询DynamoDB
EN

Stack Overflow用户
提问于 2021-10-14 04:04:07
回答 1查看 145关注 0票数 0
  1. I有一个名为Customers的表,其属性为CustId(分区键)、Fname、Lname、道布。
  2. I在Lname上创建了一个名为LastNameIndex的二级索引,其参数如下:

代码语言:javascript
复制
{
    TableName: 'Customers'
    AttributeDefinitions: [
        {
          AttributeName: 'Lname',
          AttributeType: 'S'
        }
    ],
    GlobalSecondaryIndexUpdates: [

        {
            Create: {
                IndexName: "LastNameIndex",
                KeySchema: [
                    {AttributeName: "Lname", KeyType: "HASH"}
                    
                ],
                Projection: {
                    "ProjectionType": "ALL"
                },
                ProvisionedThroughput: {                                
                    "ReadCapacityUnits": 1,"WriteCapacityUnits": 1
                }
            }
        }
    ]
}

Lname=Connors

  1. Lambda函数(片段)-我想获得所有的记录

代码语言:javascript
复制
params = {         
    TableName: "Customers",
    IndexName: "LastNameIndex",
    ExpressionAttributeNames: {
        "#FN": "Fname", 
        "#LN": "Lname",
        "#DB": "Dob",
        
    }, 
    ExpressionAttributeValues: {
        ":a": {
            S: "Connors"
        } 
    }, 
    KeyConditionExpression: "Lname = :a",
    ProjectionExpression: "#FN, #LN, #DB"
};

运行查询的

代码语言:javascript
复制
ddb.query(params).promise().then(

    function(data) {
        console.log("Customer:" + data.Item)
        return data.Item;
    },
    function() {
        console.log("No records found...")
    }
);

  1. 我有Lname =Connors.
  2. 的记录,但是查询没有返回任何记录--知道这些params有什么问题吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-14 23:28:43

query操作返回多个项,而不是像getItem操作那样的单个项。因此,我认为返回data.Items而不是data.Item应该工作得很好。

代码语言:javascript
复制
ddb.query(params).promise().then(

    function(data) {
        console.log("Customer:" + data.Items)
        return data.Items;
    },
    function() {
        console.log("No records found...")
    }
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69564936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档