繁体   English   中英

使用查询或扫描在DynamoDB中是否存在“NOT IN”比较器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM