티스토리 뷰

728x90
반응형

 

 

 

몽고DB를 새로운 서버에 깔고 똑같이 작업하려고 했는데

갑자기 잘 돌아가던 구간에서 오류가 나더군요...

바로 몽고DB 컬렉션의 총 데이터 수를 구할 때 (collection.count())의 오류였어요!!

이 count() 방법은 pymongo3.7 버전 부터는 더이상 사용되지 않는다고 합니다.

 

하지만 총 데이터 수를 구하기 위해서 count() 대신에 count_documents()를 사용하면,

데이터가 정말 많다면,,,, 정말정말 오랜 시간이 걸립니다. 

aggregate 할때도 index가 먹히지 않더니, count_documents도 마찬가지인가 봅니다 ㅠㅠ

집계 쿼리를 수행하고 메타데이터를 사용하지 않는다고 하네요.

 

그래서 count(), count_documents() 대신에

 collection.estimated_document_count()를 사용하면 정말 빠르게 구할 수 있습니다!!!

 

끝.

 

728x90
반응형
댓글