
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
처음 코드스니펫내용을 쳐도 연결이 되지않자, 즉문즉답에 질문을 남겼었고 답변을 통해 mongoDB와 연결이 됐었는데
갑자기 또 연결이 안되네요 ㅠㅠ..
최근에 git을 설치하다가 오류가 났었는데 그 일때문인지는 잘 모르겠습니다..
설치하라고 하신 라이브러리는 모두 설치한 상태입니다.(아래 설치한 라이브러리 목록 보여드릴게요.)
보고 계신 화면 전체를 캡처해 주시면, 튜터님들이 빠르게 상황을 이해할 수 있어요.

작성한 코드 및 에러 메세지
오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.
Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.
Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!
#오류코드1(원래 강의에 포함된 코드스니펫코드)
from pymongo import MongoClient
client = MongoClient('mongodb+srv://test:<password>@cluster0.59mixzb.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta
doc = {
'name':'bob',
'age':27
}
db.users.insert_one(doc)
#오류코드1의 출력값
/usr/local/bin/python3.10 /Users/inguk/Desktop/스파르타/main.py
Traceback (most recent call last):
File "/Users/inguk/Desktop/스파르타/main.py", line 10, in <module>
db.users.insert_one(doc)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/collection.py", line 621, in insert_one
self._insert_one(
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/collection.py", line 562, in _insert_one
self.__database.client._retryable_write(acknowledged, _insert_command, session)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1475, in _retryable_write
with self._tmp_session(session) as s:
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 135, in __enter__
return next(self.gen)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1757, in _tmp_session
s = self._ensure_session(session)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1740, in _ensure_session
return self.__start_session(True, causal_consistency=False)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1685, in __start_session
self._topology._check_implicit_session_support()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/topology.py", line 538, in _check_implicit_session_support
self._check_session_support()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/topology.py", line 554, in _check_session_support
self._select_servers_loop(
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/topology.py", line 238, in _select_servers_loop
raise ServerSelectionTimeoutError(
pymongo.errors.ServerSelectionTimeoutError: ac-daqr7tq-shard-00-00.59mixzb.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997),ac-daqr7tq-shard-00-01.59mixzb.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997),ac-daqr7tq-shard-00-02.59mixzb.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997), Timeout: 30s, Topology Description: <TopologyDescription id: 6361dd6ab120bf82cc0480b0, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription ('ac-daqr7tq-shard-00-00.59mixzb.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('ac-daqr7tq-shard-00-00.59mixzb.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)')>, <ServerDescription ('ac-daqr7tq-shard-00-01.59mixzb.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('ac-daqr7tq-shard-00-01.59mixzb.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)')>, <ServerDescription ('ac-daqr7tq-shard-00-02.59mixzb.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('ac-daqr7tq-shard-00-02.59mixzb.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)')>]>
종료 코드 1(으)로 완료된 프로세스
#오류코드2 (즉문즉답을 통해 답변을 받은 코드 <- 전까지는 잘 연결이 됐었으나 복습하려고 하니, 갑자기 연결이 또 안됨)
from pymongo import MongoClient
import certifi
ca = certifi.where()
client = MongoClient('mongodb+srv://test:<password>@cluster0.59mixzb.mongodb.net/?retryWrites=true&w=majority', tlsCAFile=ca)
db = client.dbsparta
doc = {
'name':'bob',
'age':27
}
db.users.insert_one(doc)
#오류코드 2의 출력값
/usr/local/bin/python3.10 /Users/inguk/Desktop/스파르타/main.py
Traceback (most recent call last):
File "/Users/inguk/Desktop/스파르타/main.py", line 12, in <module>
db.users.insert_one(doc)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/collection.py", line 621, in insert_one
self._insert_one(
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/collection.py", line 562, in _insert_one
self.__database.client._retryable_write(acknowledged, _insert_command, session)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1476, in _retryable_write
return self._retry_with_session(retryable, func, s, None)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1349, in _retry_with_session
return self._retry_internal(retryable, func, session, bulk)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/_csot.py", line 105, in csot_wrapper
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1381, in _retry_internal
with self._get_socket(server, session) as sock_info:
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 135, in __enter__
return next(self.gen)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1217, in _get_socket
with server.get_socket(handler=err_handler) as sock_info:
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 135, in __enter__
return next(self.gen)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/pool.py", line 1407, in get_socket
sock_info = self._get_socket(handler=handler)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/pool.py", line 1520, in _get_socket
sock_info = self.connect(handler=handler)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/pool.py", line 1378, in connect
sock_info.authenticate()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/pool.py", line 870, in authenticate
auth.authenticate(creds, self)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/auth.py", line 549, in authenticate
auth_func(credentials, sock_info)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/auth.py", line 475, in _authenticate_default
return _authenticate_scram(credentials, sock_info, "SCRAM-SHA-1")
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/auth.py", line 241, in _authenticate_scram
res = sock_info.command(source, cmd)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/pool.py", line 767, in command
return command(
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/network.py", line 166, in command
helpers._check_command_response(
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymongo/helpers.py", line 181, in _check_command_response
raise OperationFailure(errmsg, code, response, max_wire_version)
pymongo.errors.OperationFailure: bad auth : Authentication failed., full error: {'ok': 0, 'errmsg': 'bad auth : Authentication failed.', 'code': 8000, 'codeName': 'AtlasError'}
종료 코드 1(으)로 완료된 프로세스
