【问题标题】:How can I dynamically substitute where condition parameters in Dynamodb?如何动态替换 Dynamodb 中的 where 条件参数?
【发布时间】:2019-01-04 10:48:41
【问题描述】:

当前代码示例:

Scan * from table_name where name='ajith' and lastname='gupta';

在真实场景中,我会得到不同的值。我需要在上面的查询中传递这些并获取输出。另外,最好防止数据注入。

期望:

Scan * from table_name where name=? and lastname=?;

【问题讨论】:

    标签: amazon-dynamodb dynamodb-queries


    【解决方案1】:

    使用表达式属性名称和表达式属性值参数。

    使用 DocumentClient 的 Javascript 示例:

    let params = {
      TableName: 'table_name',
      KeyConditionExpression: '#lname = :lname and #name = :name',
      ExpressionAttributeNames: {
        '#name': 'name',
        '#lname': 'lastname'
      },
      ExpressionAttributeValues: {
        ':name': 'ajith',
        ':lname': 'qupta',
      }
    }
    dynamodbDocumentClient.query(params).promise().then(result => {
      // soSomethingWithTheResultHere
    })
    

    此示例假设您有一个分区和排序键分别为 name 和 lastname 的表 有关查询的更多信息,请参阅https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html。

    【讨论】:

    • 你能举个例子吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    相关资源
    最近更新 更多