我是Node的DynamoDB docClient的新手。我正在尝试做一个简单的读取项目调用,但会引发此错误

The provided key element does not match the schema


我关注的链接
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.NodeJs.03.html#GettingStarted.NodeJs.03.02

这是我的代码

const id = req.params; //value is 83166ce1-b36b-4074-b586-e2468346eb03
const docClient = new AWS.DynamoDB.DocumentClient();

const params = {
  TableName: 'users',
  Key: {
    'id': id,
  }
};

docClient.get(params, function(err, data) {
  if (err) {
    console.log(err);
    res.status(500).send("Error fetching user item from DB");
  } else {
    res.status(200).json(data.promoCredits);
  }
});


这是我的桌子配置
Table Configuration

我的物品

Items in Table

我曾尝试用Google搜索,但找不到答案。目前,我将返回所有用户并手动进行过滤,但这并不是最佳解决方案。请帮忙。

这样打我的要求

http://localhost:8081/api/user/getPromoCredits/83166ce1-b36b-4074-b586-e2468346eb03


我的端点配置是

app.get('/api/user/getPromoCredits/:id', user.getUserPromoCredits);


谢谢

最佳答案

这是我没有解构id且id是Object类型的问题。根据以上两个评论,非常感谢您的帮助...

更新为

const { id } = req.params;

关于javascript - 无法使用DynamoDB Node SDK docClient从DynamoDB表中读取项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60244070/

10-11 08:07