반응형
이 글은 전공 "빅데이터시스템" 강의 내용을 정리한 글입니다.
MongoDB
하나의 Collection이 여러 document를 보관할 수 있는 Document Database
Relationship of RDBMS terminology with MongoDB
RDBMS | MongoDB |
---|---|
Database | Database |
Table | Collection |
Tuple/Row | Document |
column | field |
Table Join | Embedded Documents |
Primary Key | Primary Key(Defalut Ket _id provded by mongodb it self) |
Mysqld/Oracle | mongod |
mysql/sqlplus | mongo |
RDBMS에서는 3개의 테이블이 필요하지만, MongoDB에서는 하나의 Collection에 하나의 document로 표현이 가능하다.
Embedded document
MongoDB Components
Database
Database는 collection들에 대한 물리적인 container
Create Database 명령어
use DATABASE_NAME
- database가 이미 있다면, 기존 database를 반환하고, 없으면 생성한다.
지금 선택된 database를 확인하기 위한 명령어
db
database list를 보는 명령어
show dbs
- 비어있는 database는 보여주지 않는다.
Drop database 명령어
db.dropDatabase()
- 지금 선택된 database를 제거한다.
Collection
Create collection
db.createCollection(name, options)
- name: 만들어지는 collection의 이름
- options: collection의 memory size와 indexing에 관한 옵션(Opional)
만들어진 collection확인 명령어
show collections
document를 insert하면 collection을 자동으로 만들어 준다.
db.anothercollection.insert({name: “NEW DOCUMNET”})
- anothercollection이라는 collection이 없어도 자동으로 만들어준다.
Capped collection
db.createCollection(”COLLECTION_NAME”, {capped: true, size: 10000, max: 1000})
- size - collection의 최대 사이즈(bytes)
- max - collection의 최대 document 수
collection이 capped인지 아닌지 확인하는 명령어
db.cappedLogCollection.isCapped()
기존 콜렉션을 capped로 바꾸는 명령어
db.runCommand({”converToCapped” : “collName”, size: 10000})
collection 삭제 방법
db.COLLECTION_NAME.drop()
Document
Insert a document
// 방법 1 db.COLLECTION_NAME.insert(docuemnt) // 방법 2 db.COLLECTION_NAME.insertOne(document)
insert multiple documents
// 방법 1 db.artists.insert( [ {artistname: "The Kooks"}, {artistname: "Bastille"}, {artistname: "Gang of Four"} ] ) // 방법 2 db.artists.insertMany( [ {artistname: "The Kooks"}, {artistname: "Bastille"}, {artistname: "Gang of Four"} ] )
SQL
INSERT INTO artists VALUES ("The Kooks");
- Select all documents in a collection
db.artists.find()
// formatted way(예쁘게 나오게하는 법)
db.artists.find().pretty()
SQL
SELECT * FROM artists
반응형
'Back-end > MongoDB' 카테고리의 다른 글
MongoDB: 고급 쿼리(Advanced Queries - Aggregation Framework) (0) | 2022.04.29 |
---|---|
MongoDB: 중급 쿼리 (Manipulating Data - Intermediate Query) (0) | 2022.04.29 |
MongoDB: 기본 쿼리(Basic Quries) (0) | 2022.04.29 |
Big Data Storage (0) | 2022.04.26 |
Introduction to Big Data (0) | 2022.04.26 |