[英]Is there a 'NOT IN' comparator in DynamoDB using query or scan
我阅读了这份文件http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html
也许没有条件相当的not in
RDB仅仅只存在in
条件。
我怎样才能实现not in
或者存在等效于not in
?
这里是一个PHP实现
public function getRecordsByInExpression($tableName, $providerCode, $fieldName, $values, $logicalOp = self::IN_EXP)
{
$queryExp =[
'TableName' => $tableName,
'KeyConditionExpression' => 'ProviderCode = :pc',
'FilterExpression' => $logicalOp == self::IN_EXP ? "$fieldName IN (:list)" : "NOT ($fieldName IN (:list))",
'ExpressionAttributeValues' => [
':pc' => $providerCode,
':list' => implode(',', $values)
]
];
return $this->query($queryExp)->get('Items');
}
最后一个NOT IN = NOT(字段IN(:list))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.