我想使用and和节点js对"car_types“进行分页。我不想用js,我们能用发电机db吗?我要总项目,总页面,页面大小,当前页面和数据的响应。
{
"uid": "222-3333",
"car_types": [
{
"description": "fsdf",
"title": "sdfsd"
},
{
"description": "fdfdfdf",
"title": "dfdfd"
},
{
"description": "dasda",
"title": "asdas"
},
{
"description": "dasd",
"title": "asdas"
},
{
"description": "dasdasd",
"title": "asdas"
}
]
}Aws Dynamo DB和Node js代码,我用这些代码来获得结果。
export function get_car_types_list(){
var params = {
TableName : "cms_cars",
KeyConditionExpression: "#uid = :uid",
ExpressionAttributeNames:{
"#uid": "uid"
},
ExpressionAttributeValues: {
":uid": "222-3333"
}
};
return docClient.query(params).promise()
.then(function(data) {
console.log(data);
return data;
}).catch( (err) => {
console.log('got Error', err);
});
}我想要使用dynamo查询的结果:
{
"totalItem":5,
"totalPage":1,
"pageSize":"1",
"currentPage":"1",
"car_types": [
{
"description": "fsdf",
"title": "sdfsd"
},
{
"description": "fdfdfdf",
"title": "dfdfd"
},
{
"description": "dasda",
"title": "asdas"
},
{
"description": "dasd",
"title": "asdas"
},
{
"description": "dasdasd",
"title": "asdas"
}
]
}发布于 2020-03-08 13:47:30
在执行DynamoDb时,scan/query将返回1MB数据,如果有任何剩余数据,还会添加LastEvaluatedKey以获得结果。如果您通过ExclusiveStartKey: LastEvaluatedKey,您可以使用分页方式进行scan/query。我在你的方法上增加了一些调整,它可能对你有帮助。
编辑:您可以通过将Limit: Number传递给您的params来限制结果。这将允许您限制返回的项目计数,您可以从LastEvaluatedKey获得更多信息。
export function get_car_types_list(LastEvaluatedKey){
var params = {
TableName : "cms_cars",
KeyConditionExpression: "#uid = :uid",
ExpressionAttributeNames:{
"#uid": "uid"
},
ExpressionAttributeValues: {
":uid": "222-3333"
},
Limit: 5,
};
if (LastEvaluatedKey) {
params.ExclusiveStartKey = LastEvaluatedKey;
}
return docClient.query(params).promise()
.then(function(data) {
console.log(data);
return data;
}).catch( (err) => {
console.log('got Error', err);
});
}https://stackoverflow.com/questions/60587421
复制相似问题