【发布时间】:2020-11-24 01:22:06
【问题描述】:
我希望前端在 event.queryStringParameters 中决定 currentPage、pageSize(一页中的数据数)和排序(+ 表示升序/- 表示降序)。
Dynamodb 属性
-id(string)(分区键)
-createdAt(日期)
-url(字符串)
-createdBy(string)
-标题(字符串)
但是我创建这个函数很麻烦,我只能设置pageSize,我的函数中不知道如何处理currentPage和排序。
以下是我当前的 lambda 函数。
getBanner.js
'use strict'
const AWS = require('aws-sdk');
exports.handler = async function (event, context, callback) {
const documentClient = new AWS.DynamoDB.DocumentClient();
let responseBody = "";
let statusCode = 0;
const queryParams = JSON.stringify(event.queryStringParameters);
/* queryParams will look like this
{
"currentPage": "0",
"pageSize": "30",
"sorting": "-status"
}
*/
const params = {
TableName : "Banner",
Limit:queryParams.pageSize
};
try{
const data = await documentClient.scan(params).promise();
responseBody = JSON.stringify(data.Items);
statusCode = 200
}catch(err){
responseBody = `Unable to get Alerts: ${err}`;
statusCode = 403
}
const response = {
statusCode: statusCode,
headers:{
"Content-Type": "application/json",
'Access-Control-Allow-Origin': '*', // Required for CORS support to work
},
body: responseBody
}
return response
}
【问题讨论】:
-
你需要回去设计你的 DynamoDB 我的朋友。如果需要聊天,请告诉我
-
你能解释更多吗?谢谢
-
要做分页,我们需要有一个设计。你有它吗?如果是,我可以查看它是否有效
-
以上更新。非常感谢
-
这样的设计,如何实现分页呢?请起草你的逻辑
标签: amazon-web-services amazon-dynamodb