2017-12-27 22 views
0

내가 customer_id가 기본 키 고객 테이블에서 데이터를 가져 @awspilot/dynamodb을 사용하고 있습니다.스캔 여러 이메일 ID - DynamoDB의

나는 여러 customer_email에 따라 고객 ID를 얻을 필요가있다.

위의 코드를 통해 단일 전자 메일 ID를 전달할 수 있습니다. 여러 전자 메일 ID를 검색 할 수있는 방법이 있습니까?

답변

0

DynamoDB는 query을 지원하며 하나의 파티션 (즉 하나의 파티션 키)에서 데이터를 가져올 수 있으며 scan은 테이블의 모든 항목 (즉, 전체 테이블 스캔)을 반환합니다. 당신이 조회 할 파티션 키를 알고있는 경우

, 여러 쿼리를 수행하고 결과 집합을 결합 빨라집니다. 성능에 신경 쓰지 않거나 속도에 만족한다면 (테이블이 커질수록 스캔 속도가 느려지는 것을 명심하십시오.) 스캔을 사용할 수 있습니다. 당신이 실제로 검사를하고 있습니다, 그래서 당신은 인덱스로 파티션 키를 사용하지 않는 위의 것을

참고.

쿼리는 다음과 같이 될 것이다 :

DynamoDB 
    .table('bc_customer') 
    .where('email').eq('[email protected]') 
    .query(function(err, data) { 
     console.log(err,data) 
    }) 

그리고 스캔 (내 생각 - awspilot documents이 너무 명확하지 않다)해야 뭔가 같은 :

DynamoDB 
    .table('bc_customer') 
    .having('email').eq('[email protected]') 
    .having('someattribute').eq('something') 
    .scan(function(err, data) { 
     console.log(err, data) 
    })