当已定义分区键和排序键时,DynamoDB如何通过createdAt查询

时间:2019-11-18 23:34:06

标签: amazon-dynamodb

我已经将GSI设置为作者作为分区键,将状态作为排序键,并使用它们来查询所需的数据。但是,我不知道要按时间顺序对返回数据进行排序。

DynamoDb表

-----------------------------------------------
| id | post  | author  | status  | createdAt   |
-----------------------------------------------
| 1  | post1 | author1 | publish | 2019-12-10  |
-----------------------------------------------
| 2  | post2 | author2 | draft   | 2019-12-11  |
-----------------------------------------------
| 3  | post3 | author1 | publish | 2019-12-12  |
-----------------------------------------------

和查询

var params = {
            TableName : "TABLENAME",
            IndexName: "gsi-authorStatus",
            KeyConditionExpression: "author = :author AND status = :status",
            ExpressionAttributeValues: {
                ":author": JSON.stringify(event.bodyJSON.author),
                ":status": JSON.stringify(event.bodyJSON.status)
            }
        };

        dynamo.query(params, function (err, data) {
            if (err) {
                console.error('Error with ', err);
                context.fail(err);
            } else {
                context.succeed(data);
            }
        });

我的查询给我提供了作者和状态匹配的数据,但它给了我随机的数据。是否可以使用createdAt最晚返回数据的顺序?

0 个答案:

没有答案
相关问题