개발자
공식 문서를 보면 통계용으로만 써야하는건가 싶어서요. Aggregation operations process multiple documents and return computed results. You can use aggregation operations to: - Group values from multiple documents together. - Perform operations on the grouped data to return a single result. - Analyze data changes over time.
답변 1
인기 답변
안녕하세요! 몽고 디비 Aggregation Operator를 꼭 통계용으로만 쓸 필요는 없습니다. 상황에 맞게 사용하시면 될 것 같아요! 데이터 규모, 조회하는 쿼리의 유형, 인덱스 여부 등 여러가지 고려사항에 따라서 적절한 aggregation pipeline을 만들어주시면 되지 않을까 싶어요. 물론, aggregation pipeline도 만능은 아니어서 limitations를 잘 숙지하시고 작업하면 좋을 것 같아요. 공식 문서에 aggregation pipeline 최적화를 위한 내용도 있으니 참고해보세요. - https://www.mongodb.com/docs/manual/core/aggregation-pipeline-limits/ - https://www.mongodb.com/docs/manual/core/aggregation-pipeline-optimization/ 아 참고로 커리어리 부트캠프 비교 페이지의 데이터는 몽고 디비를 사용하고 있으며 초창기에는 조회 쿼리에서 aggregation pipeline을 사용했었습니다. 데이터가 그렇게 많지 않아서 서비스하는데 크게 무리 없었던걸로 기억합니다. 물론 지금은 더 나은 유지보수를 위해서 변경했습니다 :)
토리
애드테크 백엔드 개발자 • 2024년 02월 22일
안녕하세요, 혹시 지금은 aggregation pipeline 대신 어떤걸로 변경했는지 여쭤봐도 될까요?
손정현
엔지니어 • 2024년 02월 22일
안녕하세요, 제가 기억하기로는 당시 aggregation pipeline으로 주로 하던게 addFields와 몇 가지 필터링 및 정렬이어서 addFields 값을 코드로 동적으로 할당하지 않고 원천 데이터를 저장할 때 addFields로 계산하던 데이터도 같이 연산해서 직접 데이터 구조에 추가하는 방식으로 변경했습니다. 이후 인덱싱도 추가했던 것 같아요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!