반응형
$lookup Aggregation 연산자와 함께 샤딩을 사용하는 MongoDB
$lookup
MongoDB 3.2의 새로운 기능입니다.동일한 데이터베이스의 공유되지 않은 컬렉션에 대한 왼쪽 외부 조인을 수행하여 처리를 위해 "가입된" 컬렉션의 문서를 필터링합니다.
사용하기$lookup
,그from
컬렉션을 셰이딩할 수 없습니다.
반면에, 샤딩은 유용한 수평 스케일링 접근법입니다.
그것들을 함께 사용하는 가장 좋은 방법은 무엇입니까?
당신이 인용한 문서가 나타내듯이, 당신은 사용할 수 없습니다.$lookup
단편적으로 모은 돈으로따라서 최상의 해결 방법은 별도의 쿼리에서 직접 조회를 수행하는 것입니다.
- 수행할 작업
aggregate
질의하다 - 를 사용하여 쿼리 결과의 "localField" 값을 배열로 가져옵니다.
- 수행
find
다음과 같은 쿼리를 사용하여 "from" 컬렉션에 대해 쿼리합니다.{foreignField: {$in: localFieldArray}}
- 원하는 형식으로 결과를 병합합니다.
하지 마세요.$lookup
제한은 확장성을 위해 필요한 컬렉션을 샤딩하는 것을 방지합니다. 검색 기능을 직접 수행하기만 하면 됩니다.
MongoDb 문서에서 "$lookup 단계에서는 from 컬렉션을 샤드할 수 없습니다.그러나 aggregate() 메서드를 실행하는 컬렉션은 분할할 수 있습니다." https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/
db.shardedCollection.aggregate([
{ $lookup: { from: "unshardedCollection", ... } }
])
함께 사용하는 것이 가장 좋습니다.
언급URL : https://stackoverflow.com/questions/34633111/mongodb-to-use-sharding-with-lookup-aggregation-operator
반응형
'programing' 카테고리의 다른 글
얕은 깃 서브모듈을 만드는 방법은? (0) | 2023.06.25 |
---|---|
PLS-00302가 표시되는 이유: 구성 요소가 있을 때 선언되어야 합니까? (0) | 2023.06.25 |
텍스트 속성을 설정한 후 UITextView 스타일을 재설정하고 있습니다. (0) | 2023.06.25 |
문자열에서 수학식 평가 (0) | 2023.06.25 |
MacOS에서 아나콘다를 완전히 제거하는 방법 (0) | 2023.06.25 |