무한에 가까운 확장성을 제공하는 NoSQL Database로,
RDBMS와는 다르게 테이블 스키마가 유동적이기 때문에
다양한 형태들의 데이터를 유연하게 처리할 수 있다.
하지만 분산형 구조이기 때문에 분산 시스템의 특징을 반영한다.
MongoDB는 문서지향 데이터베이스이다.
객체지향 프로그래밍과 잘 맞고 JSON을 사용할 때 아주 유용하다.
따라서 자바스크립트를 기반으로 하는 Node.js와 호환이 좋아
Node.js에서 가장 많이 사용되는 데이터베이스이다.
| MySQL 용어 | MongoDB 용어/개념 |
| database | database |
| table | collection |
| index | index |
| row | JSON document |
| column | JSON field |
| join | embedding and linking |
| primary key | _id field |
| group by | aggregation |
| SQL 구문 | MongoDB 구문 |
| CREATE TABLE USERS(a Number, b Number) | db.createCollection("mycoll") |
| INSERT INTO USERS VALUES(3, 5) | db.users.insert({a:3, b:5}) |
| SELECT * FROM users | db.users.find() |
| SELECT a,b FROM users WHERE age=20 | db.users.find({age:20}, {a:1, b:1}) |
| SELECT *FROM users WHERE age=20 ORDER BY name | db.users.find({age:20}).sort({name:1}) |