发电机查询中的运算符OR
Operator OR in dynamo query
我正在尝试使用aws-sdk和'OR'运算符进行查询,如下所示:
{ TableName: 'Movies',
KeyConditionExpression: '#year = :year or #title = :title',
ExpressionAttributeNames: { '#year': 'year', '#title': 'title' },
ExpressionAttributeValues: { ':year': 1985, ':title': 'The Breakfast Club' } }
我得到了这个:
{ [ValidationException: Invalid operator used in KeyConditionExpression: OR]
message: 'Invalid operator used in KeyConditionExpression: OR',
code: 'ValidationException',
time: Mon Apr 04 2016 11:36:22 GMT+0200 (Paris, Madrid (heure d’été)),
requestId: '827M149G5IMJ1BPM4J883DMCJNVV4KQNSO5AEMVJF66Q9ASUAAJG',
statusCode: 400,
retryable: false,
retryDelay: 0 }
我使用的是标准的亚马逊发电机样本数据文件(电影,这里)-
所以我的问题是,如何使用运算符"OR"进行Dynamo查询?
感谢:)
尝试使用类似的FilterExpression
'FilterExpression' => '#year = :year or title = :title' ,
我认为keyconditions指的是hash和range键条件。。。如果你的年份和标题属性不是哈希和范围键,请尝试使用Filterexpression或Condition表达式,如果我错了,请纠正我。。。。
谢谢@x-code,这帮助我发现我在查询键,而不是属性。
所以我喜欢这样做:
{
TableName: "Movies",
FilterExpression: "#title = :title or #title = :titletwo",
ExpressionAttributeNames: {
"#title": "title"
},
ExpressionAttributeValues: {
":title": {'S':'King Kong'},
":titletwo" : {'S':'Lifeboat'}
}
}
我还使用了扫描方法,而不是查询条件中要提到的哈希。
相关文章:
- 在 Jquery/Javascript 中使用多个 OR (||) 运算符时如何设置变量
- ||(OR)运算符如何在赋值中工作
- 如何利用“;OR”;用于表单字段验证的运算符
- AND 和 OR 运算符、正则表达式和值长度
- 布尔表达式-与AND、OR逻辑运算符混淆以及它们的工作方式
- OR 运算符,用于转义 JavaScript 中的未定义
- 发电机查询中的运算符OR
- javascript函数之间的OR运算符
- 由 OR 运算符分隔的语句的计算顺序
- JavaScript 正则表达式 OR 运算符
- 如果存在值,则使用值,否则使用 or 运算符分配默认值
- 在 JavaScript 中,条件语句中 OR 运算符的正确语法是什么?我错过了什么
- 在 Javascript 中模拟“IN”运算符以简化冗余逻辑 OR 的最佳解决方案是什么?
- 通过使用 AngularJS 遵循 OR 运算符仅过滤对象中的特定字段
- jQuery OR 运算符混淆
- 多个 OR 运算符与 elem.value.match
- 我在 javascript 中是否正确使用了逻辑运算符 OR (||)
- Javascript逻辑运算符OR
- 通过逻辑运算符OR指定默认值
- 逻辑运算符OR问题:jQuery