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

Min*_*Kim 3 java amazon-dynamodb

我阅读了这份文件 http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html

也许没有相当于not inRDB的in条件只存在条件.

我该如何实现not in或是否有相应的not in

Sr.*_*bre 5

这里是一个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');
}
Run Code Online (Sandbox Code Playgroud)

最后一个NOT IN = NOT(字段IN(:list))