티스토리 뷰

strapi api와 mongoDB Atlas 연결하기

Strapi와 MongoDB Atlas 연결하기

Strapi는 프로젝트에 가장 적합한 데이터베이스를 선택할 수있는 옵션을 제공합니다. PostgreSQL, MongoDB, SQLite, MySQL 및 MariaDB를 지원할 수 있습니다. 이러한 데이터베이스를 로컬 및 다양한 호스팅 또는 클라우드 서버에 설치할 수 있어 사용하기에 편리합니다.

 

이번 포스팅에서는 strapi api가 사용하는 db를 mongoDB Atlas로 전환하여 사용하겠습니다. strapi의 기본 db설정은 SQLite로, 프로덕션에서는 다른 DB로 바꾸는걸 추천드립니다. SQLite는 로컬 개발에서 추천드리는 방법으로 프로덕션에는 추천드리지 않습니다.

 

목차:

1. MongoDB Atlas 연결 설정

2. Strapi 프로젝트 연결 설정

3. strapi와 MongoDB Atlas 연결 및 확인

 

1. MongoDB Atlas 연결 설정

왼쪽의 메뉴 DATA STORAGE에서 Clusters를 클릭하세요.

 

Data Storage -> Clusters

 

 

 

 

 

'CONNECT'를 클릭합니다.

아직 mongoDB Atlas를 만들지 않았다면, 아래의 포스팅을 보시고 돌아오시면 됩니다.

 

[Strapi] GCP에 mongoDB Atlas설치하기

GCP에 mongoDB Atlas 설치하기 안녕하세요! 저번에 생성한 strapi api의 db를 local SQLite가 아닌 gcp에 mongoDB를 호스팅 하여 사용하려고 합니다. 그전에 먼저 mongoDB Atlas를 생성하고 호스팅 하는 작업을..

puzzle-puzzle.tistory.com

Clusters -> connect

 

 

 

 

'CONNECT'를 클릭하신 후에 설정 몇 가지를 반영해야 합니다.

먼저 DB에 연결할 수 있는 IP의 범위를  선택합니다.

저희는 테스트용이므로 맨 마지막 'Allow Access from Anywhere'를 선택하여, 어느 아이피에서 접근할 수 있게 합니다.

 

Allow Access from Anywhere

 

 

 

 

그리고 DB의 초기 사용자를 설정합니다.

이 첫 번째 사용자는 생성한 프로젝트의 Atlas Admin을 가지게 됩니다.

Create Database User

 

 

 

 

username과 password를 입력하고 'Create Database User'를 클릭합니다.

Create Database User

 

 

 

 

접근 가능한 아이피 설정데이터 베이스의 유저를 설정의 과정을 마치시면 connection method를 선택하실 수 있습니다.

위의 과정이 완료되셨다면 'Choose a connection method'를 클릭해주세요.

 

Choose a connection method

 

 

 

 

클릭하시면 다음 화면이 나타납니다.

그중에서 저희는 strapi api와 연결하기 때문에 'Connect your application'를 선택해주세요.

Connect your application

 

 

 

 

'Add your connection string into application code'라는 항목에서 코드를 볼 수 있는데요.

이 코드를 이제 앞서 생성한 strapi 프로젝트에 추가하는 작업을 시작하겠습니다.

 

아직 strapi 프로젝트를 생성하지 않으셨다면 다음의 포스팅을 참고해주세요.

 

[Strapi] strapi로 api 쉽게 만들기

안녕하세요~ 이번엔 strapi로 api를 만드는 포스팅을 시작하겠습니다. strapi? strapi는 node.js 기반으로 GUI를 사용하여 보다 쉽게 REST API를 제작할 수 있습니다. 백엔드 서버 제작 시 다른 부가적인 설

puzzle-puzzle.tistory.com

Add your connection string into application code

 

 

 

2. Strapi 프로젝트 연결 설정

우선 만드신 Strapi 프로젝트에서 config 폴더database.js 파일을 아래와 같이 수정합니다.

path는 본인의 프로젝트 경로에 맞춰주세요.

path: ./<strapi 폴더 이름>/config/database.js
module.exports = ({ env }) => ({
  defaultConnection: 'default',
  connections: {
    default: {
      connector: 'mongoose',
      settings: {
        uri: env('DATABASE_URI'),
      },
      options: {
        ssl: true,
      },
    },
  },
});

databser.js

 

 

그리고 Strapi 프로젝트에서 숨김 파일인 .env에 다음의 DATABASE_URI를 추가합니다.

path: .env

 

아래는 예시입니다.

DATABASE_URI=mongodb://paulbocuse:<password>@strapidatabase-shard-00-00-fxxx6c.mongodb.net:27017,strapidatabase-shard-00-01-fxxxc.mongodb.net:27017,strapidatabase-shard-00-02-fxxxc.mongodb.net:27017/test?ssl=true&replicaSet=strapidatabase-shard-0&authSource=admin&retryWrites=true&w=majority

 

본인의 DATABASE_URL는 빨간 박스에서 찾을 수 있습니다.

Add your connection string into application code

 

yarn develop 하여 확인하기 전에 strapi-connector-mongoose 패키지를 설치했는지 확인해주세요.

npm install --save strapi-connector-mongoose

 

 

패키지까지 설치하셨다면 다음을 실행합니다.

yarn develop

 

 

기본 collection인 user에 임의의 값을 수정합니다.

아래의 포스팅을 참고하여 db에 저장된 값을 확인할 수 있습니다.

 

[Strapi] strapi로 api 쉽게 만들기

안녕하세요~ 이번엔 strapi로 api를 만드는 포스팅을 시작하겠습니다. strapi? strapi는 node.js 기반으로 GUI를 사용하여 보다 쉽게 REST API를 제작할 수 있습니다. 백엔드 서버 제작 시 다른 부가적인 설

puzzle-puzzle.tistory.com

 

3. strapi와 MongoDB Atlas 연결 및 확인

짠!

db에 저장된 값이 반영된 것을 보실 수 있습니다.

 

http://localhost:1337/users

 

이번 포스팅에서는 strapi 기본 local DB인 SQLite가 아닌 MongoDB Atlas을 호스팅하여 사용하였습니다.

이제 남은 것은 local api 서버를 클라우드에 옮기는 작업만 남았습니다.

감사합니다.

반응형