查询单个字段中多个字符串的Dynamodb

时间:2018-03-18 01:35:32

标签: node.js aws-lambda amazon-dynamodb

我试图从同一字段或列中查询两个不同的值。在这个例子中,我想检索满足项为true或false的行。以下是我尝试做的一个例子。

const params = {
            TableName: "Orders",
            IndexName: 'fulfilled-shippingId-index',

            KeyConditionExpression: "fulfilled = :fulfilled",
           //FilterExpression : 'contains(fulfilled=true) OR fulfilled=false',
            ExpressionAttributeValues: {
              ":fulfilled": "true",
              ":fulfilled": "false"
            }

让我知道这是否可能,或者是否有不同的方法通过循环执行此操作,或者只是来自应用程序的多个请求?截至目前,它只返回最后一个表达式属性值。

谢谢!

1 个答案:

答案 0 :(得分:0)

不幸的是,这是不可能的。

  

<强> KeyConditionExpression

     

条件必须对单个分区键执行相等性测试   值。

您必须指定单个分区键值。

在此处使用FilterExpression无法提供帮助,因为在读取数据后应用了FilterExpressions。此外,FilterExpression不能包含分区键或排序键属性。

由于fulfilled = true OR fulfilled = false是重言式,我建议您只使用Scan阅读fulfilled-shippingId-index

中的所有内容