Boto3如何在DynamoDB的Scan操作中使用NOT IN实现排除过滤
实现DynamoDB Scan的排除过滤逻辑
嘿,这个需求很好解决——只需要给你原来的is_in过滤表达式加上取反操作就可以啦!
在boto3的DynamoDB API里,你可以用波浪号~来对条件表达式进行取反,这样就能把“包含user_id为1、2、3”的逻辑反转成“排除这些user_id”。
修改后的代码示例如下:
users = [1, 2, 3] table.scan( FilterExpression=~Attr('user_id').is_in(users) )
简单说下逻辑:
~符号在这里充当逻辑非的角色,会直接反转is_in(users)的判断结果- 这样Scan操作就会返回所有
user_id不在[1,2,3]列表里的条目啦
内容的提问来源于stack exchange,提问作者Myroslav Hryshyn
相关产品推荐
相关产品推荐

