使用pynamodb,我希望获得与表中某个哈希键匹配的所有范围键。
我知道我可以进行扫描,然后过滤掉与散列键匹配的条目,如下所示:
from pynamodb.models import Model
from pynamodb.attributes import UnicodeAttribute
class Users(Model):
class Meta:
table_name = 'user_posts'
username = UnicodeAttribute(hash_key=True)
post_id = UnicodeAttribute(range_key=True)
# Get all post_id's for a username
user = 'johndoe22'
posts = []
for entry in Users.scan():
if entry.username == user:
posts.append(entry.post_id)
我想将过滤逻辑移到查询级别,因此我不必下载数据库的全部内容。我怎样才能做到这一点?
答案 0 :(得分:0)
在这种情况下,您需要使用查询而不是扫描操作。我不熟悉python所以我无法帮助你,但扫描操作很可能不是你想要使用范围/散列键查询时想要使用的查看操作: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html