亚马逊dynamodb fiter表达式返回错误

Abd*_*naf 5 javascript amazon-web-services amazon-dynamodb amazon-dynamodb-streams

iam使用Web控制台在amazon dynamoDB中创建了一个表.添加一些数据后,这是我的表结构.

时间戳| userid | 文本

101 | manaf | haaaai

102 | manaf | 你好

我需要在两个res限制之间获取数据.

这是我在js中的代码.

var AWS = require("aws-sdk");

AWS.config.update({
  region: "regionName",
});

var docClient = new AWS.DynamoDB.DocumentClient()
var table = "testTable";
var params = {
    TableName: table,
    FilterExpression :['userid = :id','res >= :val1','res <= :val2'],
    ExpressionAttributeValues : {':id' : 'manaf','res':101, 'res':102} 
};

docClient.scan(params, function(err, data) {
   if (err) console.log(err);
   else console.log(data);
});
Run Code Online (Sandbox Code Playgroud)

但我得到这样的错误.

{ [InvalidParameterType: Expected params.FilterExpression to be a string]
  message: 'Expected params.FilterExpression to be a string',
  code: 'InvalidParameterType',
  time: Thu May 19 2016 17:24:57 GMT+0530 (IST) }
Run Code Online (Sandbox Code Playgroud)

如何在dynamo db扫描方法中添加多个过滤器选项?

Vor*_*Vor 1

你的FilterExpression是一个清单。您必须提供一个字符串并使用发电机运算符( OR、AND )连接元素。例如:

FilterExpression: "x = 1 AND y = 2"
Run Code Online (Sandbox Code Playgroud)

来自文档:

FilterExpression 的语法与 ConditionExpression 的语法相同。此外,FilterExpression 使用与 ConditionExpression 相同的比较器、函数和逻辑运算符。欲了解更多信息

您可能还需要替换键和值以避免错误“属性是保留关键字;”有关更多详细信息,请参阅文档:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html