MongoDB 설치, 데이터베이스서버 MongoDB 간단한 데이터 입력 테스트
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({}); |