小编Gus*_*ina的帖子

基于数组中的嵌套属性过滤表达式 - DynamoDB

我有一个 DynamoDB 表来存储这些数据;

JSON数据

其中“device”是分区键,“datetime”是排序键。我能够根据 PartitionKey 和日期范围(排序键)查询数据。但现在,我需要根据“数据”(即数组)内的“端点”进行过滤。例如,我想仅当数据数组中存在端点 1 时,或者例如端点 IN (1,3) 存在时才检索数据。我正在使用以下代码;

var dev = event.params.querystring.device;    
var from = event.params.querystring.from;
var to  = event.params.querystring.to;
var ascord = event.params.querystring.ascord;
var limit = event.params.querystring.limit;

  
var qryParams = {
  TableName : "mytable",
  KeyConditionExpression: "#id = :dddd and #tm between :time1 and :time2",
  FilterExpression: "data.endpoint = :ep",
  ExpressionAttributeNames:{
      "#id": "device",
      "#tm": "datetime"
  },
  ExpressionAttributeValues: {
      ":dddd": dev,
      ":time1": from, 
      ":time2": to, 
      ":ep": 1
  }
};

docClient.query(qryParams, function(err, data){
    if (err){
        callback(err, null);
    }else { …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-dynamodb

5
推荐指数
1
解决办法
5976
查看次数

标签 统计

amazon-dynamodb ×1

javascript ×1