我正在从 DynamoDB 获取数据,想知道我是否真的收到了任何返回的数据。
我知道
Item
总是会被返回,但我不确定当返回空行时实际返回什么(即记录不存在)。
const res = await client.send(new GetItemCommand({
TableName: 'my-table-name',
Key: {
ID: { S: id },
},
});
);
/*
Response in form:
{
Item: {
item1: {S: 'hello world'}
}
}
*/
如果没有返回的话,
Item
会是一个空对象吗,会是null
吗?检查我们是否确实得到结果的正确方法是什么?
在JS SDK中,
Item
不会被返回,所以你可以简单地这样检查:
const res = await client.send(new GetItemCommand({
TableName: 'my-table-name',
Key: {
ID: { S: id },
},
});
);
if('Item' in res){
// Logic here
}