본문 바로가기
error

질문 즉문즉답

by redeyes 2022. 9. 7.

제목 : 3-11 강의 mongoDB 연결이 안됩니다.

 

운영체제 > 윈도우(맥 os )

편집기 > 파이참(vscode, eclipse, heidisql......)

 

 

"강의 처럼 따라 했는데 연결이 안되는 거 같아요 도와주세요"

 

#왼쪽 상단빨간박스처럼 파일트리가 보이게, #오른쪽 박스처럼 코드가 보이게, #아래 빨간박스처럼 에러코드 전체는 아니더라도 마지막줄이 보이게(스샷찍는 방법 잘 모르시는 분들이 많은 것 같습니다.)

 

(실행 코드)

from pymongo import MongoClient

client = MongoClient(
    f'mongodb+srv://{id}:{password}@redeyes1234.rlbnt.mongodb.net/{cluster_name}?retryWrites=true&w=majority')
db = client.dbsparta

doc = {
    'name': input('name :'),
    'age': int(input('age : ')),
}

db.users.insert_one(doc)

 

(발생한 오류)

 

Traceback (most recent call last):
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\dbprac.py", line 18, in <module>
    db.users.insert_one(doc)
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\collection.py", line 621, in insert_one
    self._insert_one(
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\collection.py", line 562, in _insert_one
    self.__database.client._retryable_write(acknowledged, _insert_command, session)
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\mongo_client.py", line 1448, in _retryable_write
    return self._retry_with_session(retryable, func, s, None)
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\mongo_client.py", line 1321, in _retry_with_session
    return self._retry_internal(retryable, func, session, bulk)
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\_csot.py", line 105, in csot_wrapper
    return func(self, *args, **kwargs)
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\mongo_client.py", line 1353, in _retry_internal
    with self._get_socket(server, session) as sock_info:
  File "C:\Users\MSI\AppData\Local\Programs\Python\Python39\lib\contextlib.py", line 119, in __enter__
    return next(self.gen)
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\mongo_client.py", line 1189, in _get_socket
    with server.get_socket(handler=err_handler) as sock_info:
  File "C:\Users\MSI\AppData\Local\Programs\Python\Python39\lib\contextlib.py", line 119, in __enter__
    return next(self.gen)
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\pool.py", line 1406, in get_socket
    sock_info = self._get_socket(handler=handler)
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\pool.py", line 1519, in _get_socket
    sock_info = self.connect(handler=handler)
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\pool.py", line 1377, in connect
    sock_info.authenticate()
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\pool.py", line 869, in authenticate
    auth.authenticate(creds, self)
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\auth.py", line 549, in authenticate
    auth_func(credentials, sock_info)
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\auth.py", line 475, in _authenticate_default
    return _authenticate_scram(credentials, sock_info, "SCRAM-SHA-1")
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\auth.py", line 241, in _authenticate_scram
    res = sock_info.command(source, cmd)
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\pool.py", line 766, in command
    return command(
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\site-packages\pymongo\network.py", line 166, in command
    helpers._check_command_response(
  File "C:\Users\MSI\Desktop\backEndClass\delproject2\venv\lib\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(으)로 완료된 프로세스

이정도만 되어도 질문하는데 큰 도움이 될 것 같습니다.  하지만 과정마다 환경이나 편집기 GUI도 다르다 보니 과정별로 예시가 따로 있으면 합니다.(웹, 앱, sql 등)

 

%강의를 보다 막히신 분들 심정%

 

처음 하시는 분들은 코드가 정상 작동하는것인지 아닌지 잘 모릅니다.

 >> 결과를 먼저 보여주시면 도움 될 것 같습니다.

 

그렇기 때문에 질문 하는 방법을 잘모릅니다 (무엇이 문제인지 모르기 때문입니다.)

>> 어떤 결과를 원했는지 정리 할 수 있게 유도해야합니다.

 

자신의 화면과 강사님의 화면이 다르면 불안해합니다.(다르다의 범주에는 버튼의위치, 코드 위치와 같은정보 와 스크립트순서도 포함입니다.)

>> 기대하는 것을 먼저 보여주고 따라하게 하는 방법도 좋습니다.