서버(Server)/Server&Nodejs&DB

MongoDB 설치, 데이터베이스서버 MongoDB 간단한 데이터 입력 테스트

3DMP 2018. 5. 4. 00:51


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({});




반응형