首页 > 解决方案 > @aws/dynamodb-data-mapper:如何在 QueryOptions 过滤区域中编写 ConditionExpression?

问题描述

我想使用 [AWS-DynamoDB-Data-Mapper][1] 从 DynamoDB 数据库中获取数据。我正在使用 QueryIterator 并提供 indexName、limit、filter 目的,我正在使用 [QueryOptions][2]。在 QueryOptions 中,我想使用filter?: ConditionExpression。我想使用contains()函数,但我无法在下面的示例中形成 ConditionExpression -

{“Id”:{“N”:“456”},“ProductCategory”:{“S”:“体育用品”},“价格”:{“N”:“650”}}

const paginator = dbMapper.query(
  Products,
  {
    Id: 456,
    Price: between(500, 1000)
  },
  { 
    indexName: 'indexByPriceId', 
    limit: 10, 
    scanIndexForward: false,
    filter: contains(ProductCategory, 'goods')
   } 
);

它在这一行返回一个语法错误filter: contains(ProductCategory, 'goods'),它说 ContainsPredicate 不是 ConditionExpression。

请通过在 QueryOptions 中为我提供 ConditionExpression 来帮助我。[1]:https ://github.com/awslabs/dynamodb-data-mapper-js [2]:https ://awslabs.github.io/dynamodb-data-mapper-js/packages/dynamodb-data-mapper /interfaces/queryoptions.html#projection

标签: amazon-web-servicesamazon-dynamodbdynamodb-queries

解决方案


推荐阅读