use DATABASE_NAME
사용하고자 하는 DB의 이름을 입력
db
현재 사용 중인 db 이름을 출력
show dbs
현재 생성된 DB들의 이름과 크기를 출력한다.
db.dropDatabase()
사용 중인 DB를 삭제한다.
db.createCollection(name, options)
//option : capped (Boolean), autoIndexId (Boolean), size (number), max (number) 생략가능
사용 중인 DB에 Collection을 생성한다.
db.COLLECTION_NAME.drop()
해당 Collection을 삭제한다.
db.COLLECTION_NAME.insertOne(document) // insertMany(document, document, ...)
Collection에 삽입. 문서형의 내용을 다음 예시처럼 삽입할 수 있다.
db.COLLECTION_NAME.find() // findOne() option : pretty()
find()를 하면 조건에 맞는 것을 출력한다. 비워두면 모든 것을 출력한다.
findOne()을 하면 조건에 맞는 첫 번째 것을 출력한다.
SQL -> SELECT <프로젝션> FROM <테이블> WHERE <검색조건>
MongoDB -> find(<검색조건>, <프로젝션>)
검색 조건 :
연산자 | 의미 | 문법 | 예시 | RDBMS 에서는 |
$eq | = | {<key>, <value>} {<key>:{$sq:<value>}} |
find({"title":"MongoDB test"}) find({"title":{$eq:"MongoDB test"}}) |
where title = 'MongoDB test' |
$lt | < | {<key>:{$lt:<value>}} | find({"likes":{$lt:"100"}}) | where likes < 100 |
$lte | <= | {<key>:{$lte:<value>}} | find({"likes":{$lte:"100"}}) | where likes <= 100 |
$gt | > | {<key>:{$gt:<value>}} | find({"likes":{$gt:"100"}}) | where likes > 100 |
$gte | >= | {<key>:{$gte:<value>}} | find({"likes":{$gte:"100"}}) | where likes >= 100 |
$ne | != | {<key>:{$ne:<value>}} | find({"likes":{$ne:"100"}}) | where likes != 100 |
and 연산 : find({$and:[<조건1>, <조건 2>]}) 생략 가능
1. 생략하고 하나의 서브 문서로 묶어서 표현하거나
2. $and 연산자를 이용하여 결합가능
예시 :
1 ->
db.COLLECTION_NAME.find({"likes":{$gt:10, $lt:110}})
2 ->
db.COLLECTION_NAME.find({$and:[{"likes":{$gt:10}},{"likes":{$lt:110}}]})
3 -> 다음과 같이 사용하지 말아야 한다.
db.COLLECTION_NAME.find({"likes":{$gt:10}},{"likes":{$lt:110}})
or 연산 : find({$or:[<조건 1>, <조건 2>]}) and와 달리 생략이 불가능하다.
db.testCol.find({$or:[{"likes":100}, {"likes":50}]})
db.testCol.find({"likes":{$in:[50,100]}})
and, or를 아래처럼 같이 사용할 수 있다.
and는 생략 가능하므로
db.testCol.find({"likes":{$gt:10}, $or:[{"title":"MongoDB test"},{"description":"anything"}]})
이 밖에
$nor, $not 등 이 있다.
not의 경우 find({"age":{$not:{$gt:25}}})라고 한다면, age < 25이 아닌 경우가 출력된다.
RDBMS의 select와 같이 사용할 수도 있다.
find(<조건>, <프로젝션>) 에서 프로젝션에 {<필드명>:값} (검색 결과에 나타내려면 1 아니면 0)을 기입하면 된다.
여기서 필드 값으로 1과 0을 섞어서 사용할 수 없지만, "_id"의 경우에는 가능하다. (기본적으로 1로 되어있기 때문이다.)
'MongoDB' 카테고리의 다른 글
MongoDB와 Spring Boot를 이용한 프로젝트 만들기 - 1 (0) | 2023.03.17 |
---|---|
스프링부트와 mongodb를 연결해보자! (0) | 2022.11.22 |
자바로 연결해보자! (1) | 2022.11.02 |