작업 날짜 : 2022-09-01
작업환경 : python 3.10.2
작업 라이브러리 버전 : 5.0.9
해당 이슈에 대한 내용은 MongoDB 3.7 버전 이상부터 db.collection.count() 함수가 사용 불가능한 이슈입니다.
db.collection.count() 함수에 대한 내용은 MongoDB Maunal 사이트에서 확인할 수 있습니다.
test_variable이라는 시험용 변수 그리고 mongoDB의 board의 collection.count() 함수를 호출했지만 전혀 지원하지 않습니다.
만약 사용하게 된다면 에러가 발생합니다.
db.collection.count() 대체
저는 그래서 db.count_document/db.count_documents로 대체하니 동일 기능을 정상적으로 대체했는데
몽고 DB 문서를 살펴보니
공식 문서에서는 db.collection.count()와 countDocuments() 또한 사용하지 않는다고 합니다.
저는 count_documents로 대체했지만 사용하지 않는다고 하니 estimatedDocumentCount()로 대체해서 사용하는 게 가장 권장하는 대체법이라고 생각이 됩니다.
db.colletion.estimatedDocumentCount()은 option을 매개변수로 받습니다.
기존의 db.collection.count()나 count_document는 쿼리를 지정해 선택적인 결과 반환이 가능했는데
db.colletion.estimatedDocumentCount() 은 모든 문서를 반환한다고 합니다.
한 가지 궁금한 점이 countDocuments()는 기존의 collection.count() 함수를 대체하는 것인지
아니면 이 함수 또한 대체되어야 하는 점인지 애매하고 정보가 없다는 점입니다.
아무래도 5.0.9 버전인 제 작업환경에서는 count_document() 함수로 count() 함수를 대체해 사용이 가능한 걸 보니 countdocument() 함수로 특정 쿼리를 불러오고 estimatedDocumentCount()로는 모든 쿼리를 불러오는 듯합니다.
'정보보안 > DB,SQL' 카테고리의 다른 글
Maria DB 기초적인 문법 사용법 정리 - 1 // Maria DB, MySQL, SQL 문법 (0) | 2023.01.06 |
---|---|
SQL Injection 용 Maria DB 설치와 기초 설정법 - admin 계정 생성, 기초 설정 (0) | 2022.12.20 |
Mongo DB - [unable to connect: connect ECONNREFUSED 127.0.0.1:27017] 에러 이슈 (1) | 2022.10.25 |
Visual Studio Code에서 Flask 웹서버에 MongoDB 연동하고 쿼리 저장하기(windows) (1) | 2022.10.12 |
SQL문법 3종류 짧고 굵게 정리- DDL, DML, DCL (0) | 2022.08.15 |
댓글