티스토리 뷰
MongoDB 설치
다운로드를 받는다.
C:\ 아래에 압축을 푼다.
C:\ 아래에 Database 저장소를 만들고, db폴더를 만든다.
Cmd창을 열어 다음과 같이 입력한다.
Windows 보안 경고창이 뜨면, 엑세스 허용을 클릭한다.
Cmd창을 하나 더 띄워서, 마지막 빨간 박스를 제외하고 위에 입력한대로 그대로 작성한다. 마지막 빨간 박스 → mongo.exe라고 입력한다.
http://robomongo.org 접속하여 RoboMongo 를 다운받고 실행한다.
MongoDB 이해
몽고DB는 데이터 객체들이 컬렉션 내부에서 독립된 문서로 저장되는, 문서 모델을 기반으로 하는 NoSQL 데이터베이스이다.
MongoDB를 쓰기 위해서는 Database → Collection → Document 순서로 만든다.
#Database ?
컬렉션의 집합이다.
흔히 도메인이라고 부르는 것들이 데이터베이스에 해당된다.
#Collection ?
몽고DB는 컬렉션을 사용해 데이터를 하나로 묶는다.
용도가 같거나 유사한 문서(Document)의 집합을 말한다.
#Document ?
문서란 몽고DB 데이터베이스 내에 있는 한 가지 데이터 실체를 나타낸다.
정보의 집합이다. ( join X )
# 관계형 데이터베이스와 MongoDB의 논리적 용어 비교
#Mongo Shell을 이용해 Database 만들기
변수 활용하기
blog라고 하는 db의, blog라고 하는 collection에 testData가 들어감.
변수 활용하지 않고 바로 넣기
“_id” 는 고유한 키 값이다.
RoboMongo에 들어가서 보면,
이렇게 나와있는 것을 확인할 수 있다.
# document insert 해보기
Blog의 오른쪽 마우스를 클릭해 insert document를 선택한후, 아래와 같이 입력해본다.
그리고 save를 누르면,
이렇게 입력이 된 것을 확인할 수 있다.
#document delete 해보기
Mongo Shell을 이용해 아래와 같이 입력하면 전체 다큐먼트를 다 지울 수 있다.
한개씩 지우려면, Robomongo에서
이런식으로 써주고 Ctrl+Enter 치면 된다.
#document update 해보기
Mongo Shell에서 먼저 데이터를 입력해준다.
Update를 해주려면, 아래와같이 입력해준다.
# $set 제한자
필드 추가(필드가 없을 경우) 및 필드 값 수정(필드가 존재할 경우)
# $push 제한자
기본적으로 $set과 동일하지만, 계속 값이 추가된다.
나중에 mapReduce를 쓰게 되면 태그가 몇번쓰였는지 알수있다.
<실습>
> use blog switched to db blog > var post = { ... "subject":"테스트입니다.", ... "content":"내용입니다...." ... } > post { "subject" : "테스트입니다.", "content" : "내용입니다...." } > db.post.insert(post); WriteResult({ "nInserted" : 1 }) > db.post.findOne({"subject":"테스트입니다."}); { "_id" : ObjectId("574be6168574db5ac77dc934"), "subject" : "테스트입니다.", "content" : "내용입니다...." } > var reply = { ... "author":"Guest", ... "content":"Gooooood~~~~~" ... } > reply { "author" : "Guest", "content" : "Gooooood~~~~~" } > db.post.update({"subject": "테스트입니다."},{"$push":{"replies": {"author":"Gu est","content":"Baaaaaaaaaaad~~~~" }} }) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.update({"subject":"테스트입니다."},{"$push":{"replies":reply} }) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.findOne({}) { "_id" : ObjectId("574be6168574db5ac77dc934"), "subject" : "테스트입니다.", "content" : "내용입니다....", "replies" : [ { "author" : "Guest", "content" : "Baaaaaaaaaaad~~~~" }, { "author" : "Guest", "content" : "Gooooood~~~~~" } ] } |
# $pull 제한자 (과제)
$push와 반대로, 요소를 제거한다.
'프로그래밍 > 빅데이터' 카테고리의 다른 글
[Mongo DB] MongoDB + Oracle 연동 (0) | 2016.06.07 |
---|
- Total
- Today
- Yesterday
- spring
- MVC
- 메소드
- 글쓰기 버튼
- query
- mybatis
- 쿼리
- 배열
- intent
- 자바프로그래밍
- activity
- 포스팅하기
- 예외처리
- Linear Layout
- 제이쿼리
- sql
- 뉴스피드 가져오기
- aop
- ERD
- 메뉴바에 버튼 생성하기
- mongo db
- Relative Layout
- jQuery
- 클래스
- er다이어그램
- Erwin
- JSP
- 뒤로가기 버튼
- 게시판 만들기
- facebook 연동
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |