在 DynamoDB 中,全局二级索引(Global Secondary Index,简称 GSI)是一种能够让你以不同的分区键和排序键组合来查询表中数据的机制。但是,GSI 查询只能返回 GSI 上创建之后添加的项,而不能查询已存在的项。
解决此问题的方法是,使用表级别的查询来查找已经存在的项。可以使用 Query、Scan 或 GetItem 方法,这些方法都可以在表级别上操作数据。以下是一个使用 GetItem 方法在表级别查找已经存在项的代码示例:
var params = {
TableName: 'myTable',
Key: {
'primaryKey': {S: 'myPrimaryKeyValue'}
}
};
ddb.getItem(params, function(err, data) {
if (err) console.log(err);
else console.log(data);
});
在这个示例中,我们使用了 DynamoDB SDK 中的 getItem 方法,并定义了一个 params 变量来指定需要查询的表和主键值。如果找到了指定的项,它会返回一个包含查询结果的对象。如果没有找到,它会返回一个空值(null)。