홈>
Azure Cosmos Document DB를 사용하고 있으며 한 번의 호출로 여러 문서를 가져오고 싶습니다.
ID가있는 경우 문서를 검색하는 가장 좋은 방법은
DocumentClient.ReadDocumentAsync(...)
를 사용하는 것입니다.
여러 문서를 가져 오는 비슷한 방법이 있는지 궁금합니다. 지금 나는
DocumentClient.CreateDocumentQuery<T>(...).Where(document => ids.Contains(document.id))
를하고있다
이것이 선호되는 방법인지 다른 방법이 있는지 아는 사람이 있습니까?
- 답변 # 1
관련 자료
- cassandra - Azure Cosmos DB 처리량을 400RU/s 미만으로 설정하는 방법이 있나요?
- 가장 가까운 Azure Cosmos DB 위치에 자동으로 연결 하시겠습니까?
- Powershell을 사용하여 Azure KeyVault에 여러 비밀을 한 번에 추가하는 방법
- Azure pipeline - azure 파이프 라인 - 여러 저장소에 지점 이름 지정
- Word 문서에서 단어를 바꾸면 C #으로 여러 번 대체 됨
- 매개 변수를 사용하는 Azure DevOps yaml 템플릿의 여러 요구
- arrays - MongoDB에서 여러 문서를 하나의 문서로 변환
- azure frontdoor - 내부에 여러 인스턴스가있는 backendpool을 설정하는 방법은 무엇입니까?
- android - Firestore에서 여러 문서 ID 확인 | 실룩 거리다
CreateDocumentQuery를 사용한 두 번째 접근 방식이 효과적입니다. 파티션 된 컬렉션을 사용하고 파티션 간 쿼리를 수행하고 고유 한 문서 당 파티션 키와 ID가있는 경우 둘 다 고유하더라도 ID 대신 파티션 키에 대한 성능 제한이 더 나은 것으로 나타났습니다. ID가 파티션 키인 경우 특별한 노력없이 작동합니다.
많은 문서를 검색하는 경우 생성 된 SQL 표현식 (long IN 문)의 길이 제한을 피하기 위해 id 콜렉션을 일괄 처리로 나눠야합니다. 현재 프로젝트에서 배치 500을 사용하지만 ID 길이에 따라 다릅니다. 여러 개의 일괄 처리를 동시에 발행 할 수 있습니다.