MongoDB는 대표적인 NoSQL이며 JSON 형식으로 데이터를 저장하고 SQL과 유사한 쿼리로 수행 가능한 문서 지향 데이터베이스입니다.
먼저 아래의 주소에서 몽고디비 설치파일을 다운로드 받습니다.
https://www.mongodb.com/download-center?jmp=nav#community
다운로드 받은 "mongodb-win32-x86_64-2008plus-ssl-3.4.9-signed.msi" 파일을 실행하여 몽고디비를 설치합니다.
아무런 변경없이 기본값으로 설치하면 C:\Program Files\MongoDB\Server\3.4\bin 경로에 설치됩니다.
다음을 눌러 설치하면 되고 설치 경로는 원하는 곳으로 설정하면 됩니다
시스템 환경변수에 path 부분 변수 값에 설치된 경로 bin 까지를 추가해줍니다
그리고 cmd 를 띄우고 하단 명령어를 실행시키는데 이것은 데이터베이스를 서비스하기 위한 명령어로
이것을 실행해놔야 데이터 베이스가 동작하게 되는 것입니다
mongod --dbpath /Users/현재사용자계정이름/database/local
/Users/현재사용자계정이름/database/local 이것은 사용자 계정 폴더로 이 폴더가 있어야 동작을 합니다
/database/local 이 폴더가 없다면 직접 만들면 됩니다
이렇게가지 수행했다면 이제는 데이터베이스 서버(서비스)가 실행된것입니다
제일 하단에 27017 포트번호는 이쪽 번호로 연결이 들어오기를 기다리고 있다는 뜻입니다
다른 cmd 를 띄워 mongo를 입력하면 mongodb://127.0..0.1:27017 로 접속하는 것을 볼 수 있습니다
이렇게 나온다면 이후 필요한 작업을 할수 있습니다
cmd 창에서 계속 다음을 입력
use local DB가 local 을 사용할수 있게 변경 하는 것 , 상단에 계정 하단에 /database/local 폴더를 만들었는데 이 local 폴더를 말함
db.users.insert({name:'3dmp', number:123456789}) 이 명령어를 입력하면 (즉 객체를 통채로 저장, no-sql 방식임)
db 아래 users 컬렉션(테이블과 유사)이 없으면 추가 되고 그다음 객체 {name:'3dmp', number:123456789} 를 추가하는 명령
다음 결과를 보여주는데 이것은 데이터가 추가가 됐다는 것을 의미
WriteResult({ "nInserted" : 1 })
cmd 에서 이어서 다음을 입력..
1 2 3 4 5 6 7 8 9 10 11 12 | > db.users //이것은 users컬렉션(테이블)까지 local.users > db.users.find() //users 하단의 정보를 찾는 것 { "_id" : ObjectId("5aeb379d4482a0efc7ac86e5"), "name" : "3dmp", "number" : 123456789 } > db.users.find().pretty() //출력 결과를 좀 더 보기 좋게 { "_id" : ObjectId("5aeb379d4482a0efc7ac86e5"), //id 속성이 자동으로 만들어짐 "name" : "3dmp", "number" : 123456789 } > |
cmd 창에서 입력한 전문
cmd 창으로 접근하여 아래처음 바로 원소를 추가하면 database 네임이 test 로 만들어지고 nodejs 에서 처음 database name 에 접근하기 위해선 위 코드와는 약간 다르게 접근해야 오류가 안나는데 접근 방식은 하단 코드를 참조하면 됩니다
db.users.insert({name:'3dmp', number:123456789})
몽고디비에 연결하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | //몽고디비에 연결 , 보통 웹서버 만든 직후 연결 , DB 먼저 연결 되도 상관 없음 //먼저 db를 가져온다 function connectDB() { //localhost 로컬 호스트 //:27017 몽고디비 포트 //local db 생성시 만든 폴더 명 var databaseURL = 'mongodb://localhost:27017'; mongoClient.connect(databaseURL, function (err, db) { if (err) { console.log('db connect error'); return; } console.log('db was connected : ' + databaseURL); database = db; //이 구문까지 실행되었다면 ongoDB 에 연결된 것 } ); } |
몽고디비에 연결이 된 이후 database 명으로 컬렉션(테이블) 가져오기
(바로 데이터를 추가하면 test db 가 만들어짐) 으로 연결은 애초에 connect 에서 뒤에 /test 를 붙여도 되는데
var databaseURL = 'mongodb://localhost:27017/test';
주소 뒤에 test 가 있든 없든 db.db('test') 이 처럼 db를 한번은 가져와야함
1 2 3 4 5 | //cmd 에서 db.users 로 썻던 부분이 있는데 이때 이 컬럼(테이블)에 접근은 다음처럼 한다 var users = db.db('test').collection("users"); //찾고자 하는 정보를 입력해준다 //var result = users.find({ name: id, passwords: password }); var result = users.find({}); |
'서버(Server) > Server&Nodejs&DB' 카테고리의 다른 글
nodejs : mongoDB 를 활용한 가입과 로그인 처리 (0) | 2018.05.06 |
---|---|
nodejs : mongoDB 를 활용하여 로그인 처리하기 (0) | 2018.05.06 |
Nodejs , Express , 파일 올리기 multer, cros (0) | 2018.05.03 |
Nodejs : Express , 세션(session)으로 로그인/아웃 처리 (1) | 2018.05.03 |
Nodejs : Express 쿠키 & 라우터 (0) | 2018.05.02 |