KeyConditionExpression

KeyConditionExpression

我有一个DynamoDB表,其中feed_guid作为全局二级索引。我想在该表中使用一组feed_guid进行查询。由于feed_guid不是我的主键,因此不能使用getBatchItem。当我尝试以下方法时,出现此错误:


KeyConditionExpression中使用的无效运算符:OR


    $options = array(
                'TableName' => 'feed',
                    'IndexName' => 'GuidIndex',
                    'KeyConditionExpression' => 'feed_guid = :v_guid1 or feed_guid = :v_guid2',

                    'ExpressionAttributeValues' =>  array (
                        ':v_guid1' => array('S' => '8a8106e48bdbe81bf88d611f4b2104b5'),
                        ':v_guid2' => array('S' => '19cab76242a6d85717de64fe4f8acbd4')
                    ),
                    'Select' => 'ALL_ATTRIBUTES',
                );
                $response = $dynamodbClient->query($options);

最佳答案

为了在这里实现您想要的,您需要将两个独立的查询合并。

当前,DynamoDB的Query API仅支持在KeyConditionExpression中对哈希键和范围键具有一个条件,因为这限制了您搜索的项目,并最终降低了诸如此处所述的更复杂查询的成本。

08-07 13:41