2017-04-11 3 views
4

Dynamodb의 query 메서드는 파티션 키를 필터의 일부로 포함해야합니다. 파티션 키를 모르는 경우 어떻게 쿼리를 수행 할 수 있습니까?비 키 속성에 대한 쿼리

예를 들어, userid이 파티션 키로 설정된 사용자 테이블이 있습니다. 이제 우리는 전화 번호로 사용자를 검색하려고합니다. 파티션 키없이 쿼리를 수행 할 수 있습니까? scan 메서드를 사용하면이 목표를 달성 할 수 있지만 필터가 적용되기 전에 모든 항목을 테이블에서 가져 오는 것을 희생해서는 안됩니다.

답변

4

phoneNumber 열을 색인 해시 키로 사용하여 global secondary index (GSI)을 설정해야합니다.

UpdateTable을 호출하여 GSI를 만들 수 있습니다.

색인을 생성하면 IndexName과 함께 Query으로 전화를 걸어 전화 번호를 기반으로 사용자 레코드를 가져올 수 있습니다.

+0

아, 내가 간과 한 것 같습니다. 완전한! –

관련 문제