Node.js 如何查询DynamoDB中任何项的GSI范围(即不依赖于分区键)?
我将Node.js与DynamoDB一起使用。我想取表中上个月的项目。我有一个日期GSI,id也链接到该日期。我不想使用扫描,因为此表将增长。主要的问题是它不依赖于项,查询需要项分区键,这在我的例子中没有意义 我曾尝试单独使用GSI进行查询,并仅使用分区键和GSI查询范围。我不知道该怎么做才对Node.js 如何查询DynamoDB中任何项的GSI范围(即不依赖于分区键)?,node.js,aws-lambda,amazon-dynamodb,dynamodb-queries,Node.js,Aws Lambda,Amazon Dynamodb,Dynamodb Queries,我将Node.js与DynamoDB一起使用。我想取表中上个月的项目。我有一个日期GSI,id也链接到该日期。我不想使用扫描,因为此表将增长。主要的问题是它不依赖于项,查询需要项分区键,这在我的例子中没有意义 我曾尝试单独使用GSI进行查询,并仅使用分区键和GSI查询范围。我不知道该怎么做才对 TableName: interactionsTable, IndexName: "interactionD
TableName: interactionsTable,
IndexName: "interactionDate",
KeyConditionExpression: "interactionDate between :fDay and :lDay",
ExpressionAttributeValues: {
":fDay": firstDayStr,
":lDay": lastDatStr
},
}
我收到一个错误,说明键条件表达式无效。是否有更好的方法解决此问题?您需要以另一种方式配置GSI 选择另一个字段作为分区键,并将
interactionDate
设置为GSI的常规属性,然后在interactionDate
错误的原因是不能对分区键使用“介于”条件,只能对排序键和属性使用“介于”条件。显示表和索引的定义。。。