Database/MongoDB
2011. 12. 26. 22:33
1. 서비스 시작
- mongod.exe 를 통해 시작한다.
- 인자없이 실행하면 기본 데이터 디렉토리로 c:\data\db, 포트로 27017번을 사용한다. ( 데이터 디렉토리가 없거나 쓰기 권한이 없으면 서버 시작 실패가 된다. )
- 주 포트보다 1,000이 높은 포트에서 기본 HTTP 서버를 시작한다. 이는 웹브라우저를 열고 http://localhost:28017로 접속하면 관리정보를 볼 수 있다는 뜻이다.
- 서버 실행중 ctrl + C 를 누르면 mongod를 안전하게 중지할 수 있다.
2. MongoDB 쉘
- 커맨드라인에서 자바스크립트 쉘을 제공한다.
- mongo 를 통해 실행을 시작한다.
- 쉘은 시작 시 자동으로 MongoDB 서버에 접속을 시도하기 때문에 서버를 항상 먼저 시작해야한다.
- 온전한 자바스크립트 해석기로 자바스크립트의 표준 라이브러리를 모두 사용할 수 있다.
- 자바스크립트 함수 정의 및 호출도 할 수 있다.
- 쉘은 엔터를 쳤을 때 구문이 완료되었는 지 감지하고, 완료되지 않았을 경우 다음 줄에서 명령어를 입력할 수 있게 해준다.
3. MongoDB 클라이언트
- 쉘의 진수는 독자적으로 쓸 수 있는 MongoDB 클라이언트라는 데 있다.
- 쉘이 시작될 때 MongoDB 서버의 test 데이터베이스에 연결하고 이 데이터베이스 연결을 전역 변수 db 에 할당한다.
- 쉘에서는 주로 이 변수를 통해 MongoDB에 접근한다.
- 쉘은 SQL 사용자에게 친숙한 문법을 제공한다. ( 자바스크립트와는 또 다른 )
- 컬렉션은 db 변수를 통해 접근할 수 있다.
3. CRUD 작업
- 생성 : db.blog.insert(post)
- 조회 : db.blog.find(), 하나만 조회할 경우 findOne()
- 갱신 : 두개의 매개 변수가 필요한다.
1) 갱신하려는 문서를 찾는 조건
2) 새로운 문서
- db.blog.update( { title: "My Blog Post" }, post )
- 삭제 : db.blog.remove( { title: "My Blog Post" } )
- 문서삭제 : delete post.title;
4. 쉘 활용 팁
- 쉘에서 help 를 입력하면 대부분의 API, 메서드 몸체등을 모두 살펴볼 수 있다. 생각안날때 자주 이용하자.
- http://api.mongodb.org/js 에 방문하면 모든 자바스크립트 함수의 API 문서를 확인할 수 있다.
5. 메서드명과 중복되는 컬렉션 이름 얻기
- MongoDB는 자바스크립트가 db 속성을 우선 찾고 없을 경우 컬렉션을 검색하기 때문에 자바스크립트 속성과 이름이 같을 경우 컬렉션에 접근할 수 없다.
- getCollection() : 찾을 컬렉션명을 인자로 넘겨 컬렉션에 접근한다.
db.getCollection("version");
6. for ~ in 문을 이용하여 서브컬렉션에 반복적인 작업 수행하기
- mongod.exe 를 통해 시작한다.
- 인자없이 실행하면 기본 데이터 디렉토리로 c:\data\db, 포트로 27017번을 사용한다. ( 데이터 디렉토리가 없거나 쓰기 권한이 없으면 서버 시작 실패가 된다. )
- 주 포트보다 1,000이 높은 포트에서 기본 HTTP 서버를 시작한다. 이는 웹브라우저를 열고 http://localhost:28017로 접속하면 관리정보를 볼 수 있다는 뜻이다.
- 서버 실행중 ctrl + C 를 누르면 mongod를 안전하게 중지할 수 있다.
2. MongoDB 쉘
- 커맨드라인에서 자바스크립트 쉘을 제공한다.
- mongo 를 통해 실행을 시작한다.
- 쉘은 시작 시 자동으로 MongoDB 서버에 접속을 시도하기 때문에 서버를 항상 먼저 시작해야한다.
- 온전한 자바스크립트 해석기로 자바스크립트의 표준 라이브러리를 모두 사용할 수 있다.
- 자바스크립트 함수 정의 및 호출도 할 수 있다.
- 쉘은 엔터를 쳤을 때 구문이 완료되었는 지 감지하고, 완료되지 않았을 경우 다음 줄에서 명령어를 입력할 수 있게 해준다.
3. MongoDB 클라이언트
- 쉘의 진수는 독자적으로 쓸 수 있는 MongoDB 클라이언트라는 데 있다.
- 쉘이 시작될 때 MongoDB 서버의 test 데이터베이스에 연결하고 이 데이터베이스 연결을 전역 변수 db 에 할당한다.
- 쉘에서는 주로 이 변수를 통해 MongoDB에 접근한다.
- 쉘은 SQL 사용자에게 친숙한 문법을 제공한다. ( 자바스크립트와는 또 다른 )
- 컬렉션은 db 변수를 통해 접근할 수 있다.
3. CRUD 작업
>post = {"title": "My Blog Post",
"content": "Here's my blog post",
"date": new Date() }
"content": "Here's my blog post",
"date": new Date() }
- 생성 : db.blog.insert(post)
- 조회 : db.blog.find(), 하나만 조회할 경우 findOne()
- 갱신 : 두개의 매개 변수가 필요한다.
1) 갱신하려는 문서를 찾는 조건
2) 새로운 문서
>post.comments = []
- db.blog.update( { title: "My Blog Post" }, post )
- 삭제 : db.blog.remove( { title: "My Blog Post" } )
- 문서삭제 : delete post.title;
4. 쉘 활용 팁
- 쉘에서 help 를 입력하면 대부분의 API, 메서드 몸체등을 모두 살펴볼 수 있다. 생각안날때 자주 이용하자.
- http://api.mongodb.org/js 에 방문하면 모든 자바스크립트 함수의 API 문서를 확인할 수 있다.
5. 메서드명과 중복되는 컬렉션 이름 얻기
- MongoDB는 자바스크립트가 db 속성을 우선 찾고 없을 경우 컬렉션을 검색하기 때문에 자바스크립트 속성과 이름이 같을 경우 컬렉션에 접근할 수 없다.
- getCollection() : 찾을 컬렉션명을 인자로 넘겨 컬렉션에 접근한다.
db.getCollection("version");
6. for ~ in 문을 이용하여 서브컬렉션에 반복적인 작업 수행하기
>var collections = ["posts", "comments", "authors"];
for ( i in collections ){
doStuff(db.blog[collections[i]]);
}
for ( i in collections ){
doStuff(db.blog[collections[i]]);
}
'Database > MongoDB' 카테고리의 다른 글
MongoDB 데이터형 (0) | 2011.12.27 |
---|---|
MongoDB 기본 (0) | 2011.12.26 |