글

라벨이 atlas인 게시물 표시

Error (MongoDB Atlas) : Connections % of configured limit has gone above 80

이미지
 안녕하세요. 이번에는 MongoDB를 사용하다가 발생한 에러에 대해서 말씀드릴려고 합니다.  사진1) 에러 사진 위 에러에서 발생한 이유는 서버쪽에서 MongoDB쪽의 connection을 끊지 않고 유지하기 때문에 발생하는 현상입니다. 특히 Atlas의 무료버전을 사용하고 있다면 connections을 500개까지 허용하고 있습니다. 사진2) limit까지 올라간 connections  즉 어디선가 접속을 하고 close를 하지 않은 것입니다. 그럼 해당 문제가 되는 코드를 확인해 보겠습니다. const { MongoClient } = require ( 'mongodb' ); const url = 'mongodb+srv://alex:vlfvhdwntsdfghetk@xrstudio.q7lsz.mongodb.net/myFirstDatabase?retryWrites=true&w=majority' ; const client = new MongoClient ( url ); // 접속할려는 MongoDB 서버의 url을 지정한다. // Database Name const dbName = 'test' ; // 모든 데이터를 얻기 위한 함수 export async function getAllData () { await client . connect (); // 몽고DB에 접속을 한다. console . log ( 'Connected successfully to server : getAllData' ); const db = await client . db ( dbName ); // 해당 MongoDB의 DataBase을 지정한다(위 코드는 'test' DB를 선택) const collection = await db . collection ( 'games' ); // collection을 선택한다.(위 코드는 'game...

몽고DB사용하기 by Web(Atlas)

이미지
 안녕하세요. 알렉스 입니다. 이번에는 NoSQL의 MongoDB를 사용할수 있게 셋팅을 하겠습니다. 일단 기본적으로 'https://account.mongodb.com/account/login'링크에 들어가서 가입을 하셔야 합니다. 가입이 완료된 이후 셋팅법을 알려드리도록 하겠습니다. 로그인을 하면 처음 프로젝트 카테고리가 나타납니다. 갓 생성한 계정이니 프로젝트가 존재하지 않습니다. 일단 'New Project'버튼을 눌러 새로 생성합니다. 저는 임시적으로 'test'라는 프로젝트명을 사용하겠습니다. 위의 사진은 해당 프로젝트에 유저를 추가할것인지의 여부입니다. 일단 여기서는 혼자 하는 것이기 때문에 'Create Project'를 하도록 하겠습니다. 이제 프로젝트가 완성됬습니다. 이제 데이터베이스를 만들 차례입니다. 데이터베이스는 SQL이나 NoSQL이나 비슷한 개념입니다. 결국 데이터베이스 안에 데이터를 넣기 때분입니다. 연습용이기 때문에 'free'를 선택해 줍니다. 원하는 서비스 및 리전을 선택합니다. 몽고디비에서 해당 데이터베이스의 명칭을 지정할수 있습니다. 여기서는 'Cluster0'으로 자동생성 됬습니다. 물론 바꾸셔도 되지만 저는 그대로 가도록 하겠습니다. 이제 'Create Cluster'을 누르면 위와같이 데이터 베이스를 생성하게 됩니다. 시간상 약 3~10분정도 걸립니다.  Terminal에서 몽고DB에 접속하기 위한 아이디와 비밀번호를 지정합니다. 데이터 베이스 유저가 작성이 되면 이제 'Choose a connection method'를 클릭합니다.  위 글에서는 Terminal로 접속할 것이 때문에 첫번째(Connect with the MongoDB Shell)항목을 선택합니다. 만약 해당 컴퓨터에 MongoDB Shell이 설치되 있지 않는다면 설치하시고 진행해 주시기 바랍니다. 이미 설치가 되 있으면 'I h...