У меня есть таблица DynamoDB, в которую я хотел бы вернуть все элементы, чье сопоставленное значение Review.ID равно 123.
Item: {
id: 1,
review: {
Id: 123,
step1: 456,
step2: 789,
step3: 1234,
},
// Add more items here
},
Item: {
id: 2,
review: {
Id: 123,
step1: 999,
step2: 888,
step3: 777,
},
// Add more items here
},
Пример идеального возврата:
id: 1,
review: {
- id: 123,
- step: 456,
- step2: 789,
- step3: 1234,
}
id: 2,
review: {
- id: 123,
- step: 999,
- step2: 888,
- step3: 777,
}
Это мой текущий код в NodeJS
exports.handler = async (event, context, callback) => {
const params = {
FilterExpression: "review.Id = :review",
ExpressionAttributeValues: {
":review": 123,
},
TableName: "sometable"
};
let promise = dynamoDb.scan(params).promise();
let result = await promise;
let data = result.Items;
if (result.LastEvaluatedKey) {
params.ExclusiveStartKey = result.LastEvaluatedKey;
data = data.concat(await (params));
}
// create a response
const response = {
statusCode: 200,
body: JSON.stringify(data),
};
callback(null, response);
};
При запуске этого кода я получаю пустой результат [].
Любая помощь по этому вопросу будет принята с благодарностью.