Node.js 在单个字段中查询Dynamodb中的多个字符串

Node.js 在单个字段中查询Dynamodb中的多个字符串,node.js,aws-lambda,amazon-dynamodb,Node.js,Aws Lambda,Amazon Dynamodb,我试图从同一字段或列中查询两个不同的值。在本例中,我希望检索已完成项为true或false的行。下面是我试图做的一个例子 const params = { TableName: "Orders", IndexName: 'fulfilled-shippingId-index', KeyConditionExpression: "fulfilled = :fulfilled", //FilterExpr

我试图从同一字段或列中查询两个不同的值。在本例中,我希望检索已完成项为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"
            }
如果这是不可能的,或者是否有其他方法通过循环或可能只是来自应用程序的多个请求来实现,请告诉我?现在它只返回最后一个表达式属性值


谢谢

不幸的是,这是不可能的

关键字条件表达式

该条件必须对单个分区键执行相等测试 价值观

必须指定单个分区键值

在这里使用FilterExpression没有帮助,因为FilterExpression是在读取数据之后应用的。此外,FilterExpression不能包含分区键或排序键属性


由于completed=true或completed=false是一个重言式,我建议您只使用来读取Completed shippingId索引中的所有项目

Hmm您不能在过滤器表达式中使用,我现在很抱歉,稍后会更新吗?谢谢您,Mrk,似乎有一个IN-IN-IN-filter表达式,但它似乎也不适合我。FilterExpression:在中实现:false,:true,expressionAttribute值:{:false:false,:true:true},可能是的重复项