본문 바로가기

개발

MongoDB CRUD 쿼리

몽고디비는 데이터를 binary json 형태로 받아 더 많은 데이터를 포함한다.

{
   field1: value1,
   field2: value2,
   field3: value3,
   ...
   fieldN: valueN
}

이런 field - value의 pair이다.

 

데이터 구조를 보면, DB 안에 하위 collection(데이터의 집합)이 있으며, 

위와 같은 개별 데이터(json 파일 형식)은 document라 부른다.

db > collection(데이터의 집합) > document(개별 데이터) 이다.

 

Create

# single collection에 데이터(document) 삽입
db.collection.insertOne()

# 한번에 여러 데이터 삽입
db.collection.insertMany()

 

Read

db.collection.find()

# movie - collection 이름
db.movie.find(
    { age : { $gt : 18}}, # $gt - greater than
    { name : 'Thelma', address : 'Sydney'}
).limit(5)

 

Update

db.collection.updateOne(filter, update,
                        {
                            upsert : True, # Create a new document if no documents math the filter, update a single document that matches the filter
                            writeConcern: <document> , # 기본 쓰기를 선택하려면 생략가능
                            collation : <document>, # collation(string 처리를 위한 문자열 처리 규칙) 명시
                            hint : <document or string>, # 쿼리 술부(주어를 제외한 서술문장)에서 사용할 인덱스를 지정하는 문서 또는 문자열
                        })

db.collection.updateMany()
db.collection.replaceOne()

 

Delete

db.collection.deleteOne()
db.collection.deleteMany()