MongoDB의 샤딩된 컬랙션에서 $lookup Aggregation 연산 불가

2020. 7. 14. 18:47서버 프로그래밍

MongoDB의 Aggregation 연산시 $lookup을 이용하면 여러개의 컬랙션에서 쿼리를 처리한 후 합칠 수 있다. (일종의 JOIN 연산) 이것은 유사한 데이터를 가진 여러개의 컬랙션의 결과를 합쳐서 정렬하여 하나의 결과로 만들때 꽤나 유용하다. 다만, enableSharding 된 컬랙션의 경우에는 $lookup Aggregation에서 사용할 수 없다는 것이다. 잘 동작하던 컬랙션을 향후 데이터가 많아질 것을 대비해서 샤딩을 적용했더니 그 다음부터 멀쩡하던 API가 동작하지 않아서 발견한 이슈이다.

https://stackoverflow.com/questions/34633111/mongodb-to-use-sharding-with-lookup-aggregation-operator

 

MongoDB to Use Sharding with $lookup Aggregation Operator

$lookup is new in MongoDB 3.2. It performs a left outer join to an unsharded collection in the same database to filter in documents from the “joined” collection for processing. To use $lookup, the...

stackoverflow.com