작성
·
61
·
수정됨
0
안녕하세요 강사님
mongoDB를 이번에 처음 사용하는데,
세팅하는 과정에서 궁금한게 생겨 질문 남깁니다.
저는 지금까지 mysql로 토이프로젝트를 진행했었는데요~
fastAPI 기반의 프로그램을 실행시키기 전에 항상 mysql 을 구동시켜 놓았었습니다.
그런데 이번 mongoDB의 경우엔, 별도로 mongoDB 를 실행시키지 않고 바로 app을 실행시키더군요 !
몽고DB도 결국 별도의 프로그램이기에, webapp이 띄워지기 전에 미리 프로세스로 올라온 상태이어야할 것 같은데, 맞을까요? 그렇다면 mongoDB가 프로세스로 띄워지는 순간은 언제인가요?
혹시 __init__.py 에서 connect() 함수에서 프로그램을 띄우고 연결하는 작업을 진행하는걸까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
MongoDB는 확실히 별도의 프로그램으로, 웹앱을 실행하기 전에 데이터베이스 서버가 실행되어 있어야 합니다. 일반적으로 MongoDB 서버는 시스템의 서비스로 설치되며, 서버 또는 개발기의 시작 때 자동으로 시작되도록 설정할 수 있습니다. 따라서 MongoDB가 별도로 실행되지 않았다면, MongoDB 서비스가 미리 시작된 상태일 가능성이 큽니다.
FastAPI와 같은 웹 애플리케이션에서 MongoDB를 사용할 때, 일반적으로 애플리케이션 초기화 단계(__init__.py
파일 안에 있을 수 있는 초기화 코드와 같이)에서 MongoDB 클라이언트 객체를 생성하고, 이 객체를 통해 MongoDB에 연결합니다. 연결 과정은 애플리케이션 코드에서 명시적으로 이루어지며, MongoDB 서버가 이미 실행 중이어야 성공적으로 연결할 수 있습니다.
요약하자면, MongoDB 서버는 웹앱이 시작되기 전에 이미 실행 상태에 있어야 하며, 웹앱 내에서는 명시적으로 MongoDB에 연결하는 코드를 실행해 데이터베이스를 사용하게 됩니다. MongoDB가 어떻게 실행되고 있는지 확인하기 위해서는 시스템의 서비스 관리 도구(예: systemd, sysvinit 등)를 사용하여 MongoDB 서비스의 상태를 확인할 수 있습니다.