【问题标题】:Cannot Read an item from a DynamoDB Table using the DynamoDB Node SDK docClient无法使用 DynamoDB 节点 SDK docClient 从 DynamoDB 表中读取项目
【发布时间】:2020-02-16 08:33:27
【问题描述】:

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

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

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

像这样满足我的要求

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

我的端点配置是

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

谢谢

【问题讨论】:

  • id 在哪里/如何定义
  • 我的假设是id的类型不是字符串。
  • 你们说得对,非常感谢!

标签: javascript amazon-web-services amazon-dynamodb


【解决方案1】:

这是一个问题,我没有解构我的 id,而 id 是 Object 类型。基于以上两个cmet,非常感谢您的帮助...

更新到

const { id } = req.params;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多