본문 바로가기

Programming/Web 개발

MongoDB 유용한 명령어 정리.

 

mongo DB

 

Mongo DB 설치 링크

https://www.mongodb.com/download-center/community?jmp=homepage

 

Download Center: Community Server

Download MongoDB Community Server, the most popular non-relational database built to address the needs of modern applications.

www.mongodb.com

 

서버 실행 및 접속


mongod: mongo DB 서버 실행
mongo: 클라이언트로 서버에 접속

 

mongo DB 용어 정리


Document: data element {key:value} 쌍
Collections: Document의 집합
Database: Collection의 집합
Server: Database의 집합

 

유용한 명령어 정리


show dbs
- 데이터베이스 목록 보기

show collections
- 선택된 데이터베이스의 collections 목록 보기

use db_name
- 사용할 데이터베이스 선택 혹은 생성. 
- (단, use db_name을 이용해 database를 생성한다고 해도 collection을 추가해주어서 실질적인 할당을 해주어야 show dbs에서 조회가 된다.)

db.createCollection(collection_name, [options])
- collection_name으로 use db_name을 통해 선택된 데이터베이스에 collection을 생성한다.

db.collection_name.insert({"name":"foo"})
- collection_name으로 설정된 collection에 Document 추가
- 배열 형태로 여러 documents 추가 가능 [{},{}]

db.collection_name.find({query},{projection})
- collection_name으로 설정된 collection에 Document 조회.
- 인자를 비우면 모든 document 조회, query를 활용하여 조건을 만들 수 있음 ex) {"name":"foo"}

db.collection_name.remove({"name":"foo"}, [True or False])
- collection_name으로 설정된 collection에 {"name":"foo"}인 document 삭제
- 뒤에 option을 true로 하면 1개만, false이면 모두 다 삭제. default는 false

db.collection_name.drop()
- collection_name으로 설정된 collection 삭제

db.dropDatabase()
- 데이터베이스 제거

 

Mongo DB  더 잘 활용하기

db.collection_name.find().pretty()
- pretty()를 활용해 더 이쁘게 보여줌.

db.collection_name.find("value": {$gt: 0, $lt:100})
- query 비교 연산자 활용하기 (아래 연산자 정리 첨부)

db.collection_name.find($or: [{"name": "jiwan"}, {"value": {$lt:100}}])
- query 논리 연산자 활용하기 (아래 연산자 정리 첨부)

db.collection_name.find({$where: "this.comments.length==0"})
- javascript expression 활용 가능

그 외에도 $regex 를 활용하여 정규표현식을 통해서 query 가능
projection 에는 boolean expression을 활용하여 조회할 데이터 설정 가능

 

Query 연산자 정리

비교 연산자
논리 연산자

 

지식 출처: https://velopert.com/