쿼리를 만든 후, 검색 옵션의 개수를 지정하여 쿼리가 반환하는 결과를 추가로 제어할 수 있습니다. 앱의 쿼리 구조화에 대한 자세한 내용은 데이터 저장소 쿼리를 참조하세요.
단일 항목 검색
쿼리와 일치하는 단일 항목만 검색하려면 Query.get()
(또는 GqlQuery.get()
) 메서드를 사용합니다.
q = Person.all()
q.filter("last_name =", target_last_name)
result = q.get()
이 메서드는 색인에서 쿼리와 일치하는 첫 번째 결과를 반환합니다.
쿼리 결과 반복
Query
또는 GqlQuery
객체의 run()
메서드를 사용하여 쿼리 결과를 반복 할 경우 Cloud Datastore는 결과를 일괄 검색합니다. 기본적으로 각 배치에는 결과가 20개 있습니다. 하지만 메서드의 batch_size
매개변수를 사용하여 이 값을 변경할 수 있습니다. 모두 반환되거나 요청이 타임아웃될 때까지 쿼리 결과를 계속해서 반복할 수 있습니다.
한 항목에서 선택한 속성 검색하기
전체 항목이 아닌 한 항목에서 선택한 속성만 검색하려면 프로젝션 쿼리를 사용합니다. 이러한 유형의 쿼리는 전체 항목을 반환하는 쿼리보다 더 빨리 실행되고 비용도 더 적게 듭니다.
마찬가지로 키 전용 쿼리는 전체 항목이 아닌 쿼리와 일치하는 항목의 키만 반환하므로 시간과 리소스가 절약됩니다. 이 유형의 쿼리를 만들려면 쿼리 객체를 생성할 때 keys_only=True
를 설정합니다.
q = Person.all(keys_only=True)
쿼리에 제한 설정
한 배치에 반환되는 결과의 최대 수를 제어하도록 쿼리에 제한을 지정할 수 있습니다. 다음 예에서는 Cloud Datastore에서 키가 가장 큰 사람 5명을 검색합니다.
q = Person.all()
q.order("-height")
for p in q.run(limit=5):
print "%s %s, %d inches tall" % (p.first_name, p.last_name, p.height)
다음 단계
- Cloud Datastore의 쿼리에 대한 일반적인 제한사항을 알아봅니다.
- 애플리케이션에서 편리하게 일괄적으로 쿼리 결과를 검색할 수 있게 해주는 쿼리 커서 알아보기
- 데이터 일관성 및 Cloud Datastore에서 다양한 유형의 쿼리를 사용하여 데이터 일관성을 유지하는 방법을 이해합니다.
- Cloud Datastore의 기본 문법 및 쿼리 구조 알아보기