본문 바로가기

공부 기록/Database

MongoDB CRUD

Insert

- 하나의 데이터 삽입하기

db.employees.insertOne({
    name: "yuri",
    age: 30,
    dept: "Backend",
    joinDate: new ISODate("2023-06-24"),
    salary: 30000,
    bonus: null
})

 

- 여러 개의 데이터 삽입하기 => 배열 이용

- 두 개 이상의 데이터 삽입 시 insertMany를 활용하면 좋다. => 속도가 훨씬 빠름

db.employees.insertMany([
    {
        name: "yuri",
        age: 30,
        dept: "Backend",
        joinDate: new ISODate("2023-06-24"),
        salary: 30000,
        bonus: null
    },
    {
        name: "may",
        age: 10,
        dept: "Frontend",
        joinDate: new ISODate("2023-05-24"),
        salary: 50000,
        resignationDate: new ISODate("2023-06-24"),
        bonus: null
    }
])

 


Update

- 하나의 데이터 수정하기

db.employees.updateOne(
    { name: "may" },
    {
        $set: {
            salary: 100000,
            bonus: 500
        },
        $unset: {
            resignationDate: "" # 필드 제거
        }
    }
)

 

- 여러 개의 데이터 수정하기

db.employees.updateMany(
    { resignationDate: {$exists: false} },
    { $mul: {salary: Decimal128("1.1")} } # salary를 10% 인상
)

* "yuri" 데이터의 resignationDate필드는 존재하지 않지만 null로 취급될 수 있으므로 주의해야 한다.


Delete

- 하나의 데이터 삭제하기

db.employees.deleteOne({name: "yuri"})

- 여러 개의 데이터 삭제하기

db.employees.deleteMany(
    { resignationDate: {$exists: false} }
)

 

- 전체 데이터 삭제하기

db.employees.deleteMany({}) # 중괄호를 생략하면 오류가 발생한다.

Find

- 하나의 데이터 조회하기

db.employees.findOne({ name: "may"})

 

- 여러 개의 데이터 조회하기

db.employees.find({
    resignationDate: {$exists: false}
})
db.employees.find({
    $and: [
        { resignationDate: {$exists: false} },
        { age: { $gte: 30 } }
    ]
})

 

- 전체 데이터 조회하기

db.employees.find()

컬렉션 삭제하기

db.employees.drop()

show collections # 컬렉션 조회

'공부 기록 > Database' 카테고리의 다른 글

Stored Function  (0) 2023.07.26
Spring Data MongoDB 적용해보기  (0) 2023.06.28
MQL, Query Filter, Operator  (0) 2023.06.24
MongoDB 설치하기  (0) 2023.06.23
정렬, 집계 함수, 그룹핑  (0) 2023.06.02