인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

유준모님의 프로필 이미지

작성한 질문수

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

프로젝트 마무리

몽고Db 기초 질문

작성

·

126

·

수정됨

0

안녕하세요 강사님

mongoDB를 이번에 처음 사용하는데,

세팅하는 과정에서 궁금한게 생겨 질문 남깁니다.

저는 지금까지 mysql로 토이프로젝트를 진행했었는데요~

fastAPI 기반의 프로그램을 실행시키기 전에 항상 mysql 을 구동시켜 놓았었습니다.

그런데 이번 mongoDB의 경우엔, 별도로 mongoDB 를 실행시키지 않고 바로 app을 실행시키더군요 !

몽고DB도 결국 별도의 프로그램이기에, webapp이 띄워지기 전에 미리 프로세스로 올라온 상태이어야할 것 같은데, 맞을까요? 그렇다면 mongoDB가 프로세스로 띄워지는 순간은 언제인가요?

혹시 __init__.py 에서 connect() 함수에서 프로그램을 띄우고 연결하는 작업을 진행하는걸까요?

답변 1

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

MongoDB는 확실히 별도의 프로그램으로, 웹앱을 실행하기 전에 데이터베이스 서버가 실행되어 있어야 합니다. 일반적으로 MongoDB 서버는 시스템의 서비스로 설치되며, 서버 또는 개발기의 시작 때 자동으로 시작되도록 설정할 수 있습니다. 따라서 MongoDB가 별도로 실행되지 않았다면, MongoDB 서비스가 미리 시작된 상태일 가능성이 큽니다.

FastAPI와 같은 웹 애플리케이션에서 MongoDB를 사용할 때, 일반적으로 애플리케이션 초기화 단계(__init__.py 파일 안에 있을 수 있는 초기화 코드와 같이)에서 MongoDB 클라이언트 객체를 생성하고, 이 객체를 통해 MongoDB에 연결합니다. 연결 과정은 애플리케이션 코드에서 명시적으로 이루어지며, MongoDB 서버가 이미 실행 중이어야 성공적으로 연결할 수 있습니다.

요약하자면, MongoDB 서버는 웹앱이 시작되기 전에 이미 실행 상태에 있어야 하며, 웹앱 내에서는 명시적으로 MongoDB에 연결하는 코드를 실행해 데이터베이스를 사용하게 됩니다. MongoDB가 어떻게 실행되고 있는지 확인하기 위해서는 시스템의 서비스 관리 도구(예: systemd, sysvinit 등)를 사용하여 MongoDB 서비스의 상태를 확인할 수 있습니다.