代码之家  ›  专栏  ›  技术社区  ›  Zyzz Shembesh

GSI上的DynamoDB查询使用nodeJs返回null

  •  0
  • Zyzz Shembesh  · 技术社区  · 4 年前

    我试图使用全局索引查询dynamo表,但由于某种原因它返回null。我确实有一个可以从控制台查询的记录,但不能使用node js sdk。

    这是我的代码:

    try {
        var queryParams = {
          IndexName: "gsi1-index",
          KeyConditionExpression: "gsi1 = :gsi1",
          ExpressionAttributeValues: {
            ":gsi1": userEmail,
          },
          TableName: usersTable,
        };
        await ddb.query(queryParams, (err, userData) => {
          // if (err || userData.Count === 0)
          //   return res.status(400).json({ data: "No information was found" });
          return res.status(200).json(userData);
        });
      } catch (err) {
        return res.status(400).json(err);
      }
    

    0 回复  |  直到 4 年前
        1
  •  0
  •   Seth Geoghegan    4 年前

    您还没有发布完整的代码示例,但我可以大胆猜测一下。我假设您正在使用DDB DocumentClient API在异步lambda中运行此代码。

    await 一起回叫。

       await ddb.query(queryParams, (err, userData) => {
          return res.status(200).json(userData);
        });
    

    试试这个

    let data = await ddb.query(queryParams).promise();
    // do something with data