인프런 커뮤니티 질문&답변

유준모님의 프로필 이미지
유준모

작성한 질문수

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)

프로젝트 마무리

몽고Db 기초 질문

작성

·

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 서비스의 상태를 확인할 수 있습니다.

유준모님의 프로필 이미지
유준모

작성한 질문수

질문하기