ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MongoDB] MongoDB - CRUD 명령어
    NoSQL/MongoDB 2022. 3. 11. 17:09
    반응형

    1. Create(생성)

     - insertOne()과 insertMany() 메소드를 사용하여 컬렉션에 도큐먼트를 생성할 수 있습니다.

     - insertOne()은 단일 도큐먼트만, insertMany()는 다수 도큐먼트를 생성할 수 있습니다.

     

    1_1. insertOne()

    db.collection.insertOne(
       <document>,
       {
          writeConcern: <document>
       }
    )
    db.language.insertOne(
    {Dec2021: NumberInt(1), Dec2020: NumberInt(3), Change: "↑", ProgrammingLanguage: "Python", Ratings: 12.90}
    );

     

    1_2. insertMany()

    db.collection.insertMany(
       [ <document 1> , <document 2>, ... ],
       {
          writeConcern: <document>,
          ordered: <boolean>
       }
    )
    db.language.insertMany([
    {Dec2021: NumberInt(1), Dec2020: NumberInt(3), Change: "↑", ProgrammingLanguage: "Python", Ratings: 12.90},
    {Dec2021: NumberInt(2), Dec2020: NumberInt(1), Change: "↓", ProgrammingLanguage: "C", Ratings: 11.80},
    {Dec2021: NumberInt(3), Dec2020: NumberInt(2), Change: "-", ProgrammingLanguage: "Java", Ratings: 10.12},                                  
    {Dec2021: NumberInt(4), Dec2020: NumberInt(4), Change: "-", ProgrammingLanguage: "C++", Ratings: 7.73},
    {Dec2021: NumberInt(5), Dec2020: NumberInt(5), Change: "-", ProgrammingLanguage: "C#", Ratings: 6.40},
    {Dec2021: NumberInt(6), Dec2020: NumberInt(6), Change: "-", ProgrammingLanguage: "Visual Basic", Ratings: 5.40},
    {Dec2021: NumberInt(7), Dec2020: NumberInt(7), Change: "-", ProgrammingLanguage: "Javascript", Ratings: 2.30},
    {Dec2021: NumberInt(8), Dec2020: NumberInt(12), Change: "↑", ProgrammingLanguage: "Assembly language", Ratings: 2.25},
    {Dec2021: NumberInt(9), Dec2020: NumberInt(10), Change: "↑", ProgrammingLanguage: "SQL", Ratings: 1.79},
    {Dec2021: NumberInt(10), Dec2020: NumberInt(13), Change: "↑", ProgrammingLanguage: "Swift", Ratings: 1.76}
    ]);

     

    2. Read(조회)

     - findeOne()와 find() 메소드를 사용하여 컬렉션에 도큐먼트를 조회할 수 있습니다.

     - findeOne()은 단일 도큐먼트만, find()는 다수 도큐먼트를 조회할 수 있습니다.

     

    2_1. 전체 조회

    db.collection.find()
    db.language.find()

    다음 SQL문과 동일합니다.

    SELECT * FROM language

     

    2_2. 동등 조건으로 조회

    동등 조건을 지정하려면 다음과 같은 표현식을 사용합니다.

    db.collection.find(
    {<field1>: <value1>, ... }
    )
    db.language.find({Change: "-"})

    다음 SQL문과 동일합니다.

    SELECT * FROM language WHERE change = "-"

     

    2_3. 연산자를 사용하여 조회

    연산자를 사용하여 다음과 같은 형식으로 조건을 지정할 수 있습니다.

    db.collection.find(
    { <field1>: { <operator1>: <value1> }, ... }
    )
    db.language.find({Change: { $in: ["↑", "↓"]}})

    다음 SQL문과 동일합니다.

    SELECT * FROM language WHERE change IN ("↑", "↓")

     

    2_4. AND 조건으로 조회

    AND 연산을 수행하라면 다음과 같이 조건을 나열하면 됩니다.

    db.language.find({Change: "-", Ratings: { $lt: 10 }})
    SELECT * FROM language WHERE change = '-' AND ratings < 10

     

    2_5. OR 조건으로 조회

    OR 연산을 수행하려면 다음과 같이 JSON의 배열 형식으로 표현하면 됩니다.

    db.language.find({Ratings: {$lt: 10}, $or: [{Change: "↑"}, {ProgrammingLanguage: /^C/ }]})
    SELECT * FROM language WHERE ratings < 10 AND (Change = "↑" OR ProgrammingLanguage LIKE "C%")

     

    비교 연산자

    연산자 설명
    $eq 지정된 값과 같은 값을 조회합니다.
    $gt 지정된 값보다 큰 값을 조회합니다.
    $gte 지정된 값보다 크거나 같은 값을 조회합니다.
    $lt 지정된 값보다 작은 값을 조회합니다.
    $lte 지정된 값보다 작거나 같은 값을 조회합니다.
    $ne 지정된 값과 같지 않은 값을 조회합니다.
    $in 배열에 지정된 값과 같은 값을 조회합니다.
    $nin 배열에 지정된 값과 같지 않은 값을 조회합니다.

    출처 : https://docs.mongodb.com/v3.2/reference/operator/query/

     

    3. Update(수정)

     - updateOne()과 updateMany() 메소드를 사용하여 컬렉션에 도큐먼트를 수정할 수 있습니다. 

     - updateOne()은 단일 도큐먼트만, updateMany()는 다수 도큐먼트를 수정할 수 있습니다.

     - MongoDB는 필드 값을 수정하기 위해 $set 연산자를 제공합니다.

    db.collection.updateOne(
    {
      <update operator>: { <field1>: <value1>, ... },
      <update operator>: { <field2>: <value2>, ... },
      ...
    }
    )

     

    조건에 만족하는 도큐먼트 하나만 수정

    db.language.updateOne({Change: "-"}, {$set: {Change: ""}})

    조건에 만족하는 도큐먼트 하나만 수정

    db.language.updateMany({Change: "-"}, {$set: {Change: ""}})

     

    4. Delete(삭제)

     - deleteOne()과 deleteMany() 메소드를 사용하여 컬렉션에 도큐먼트를 삭제할 수 있습니다.

     - deleteOne()은 단일 도큐먼트만, deleteMany()는 다수 도큐먼트를 삭제할 수 있습니다.

    db.collection.deleteOne(
    { <field1>: { <operator1>: <value1> }, ... }
    )

     

    조건에 만족하는 도큐먼트 하나만 삭제

    db.language.deleteOne({Change: "-"})

    조건에 만족하는 모든 도큐먼트를 삭제

    db.language.deleteMany({Change: "-"})

    조건이 없는 경우({}) 모든 도큐먼트를 삭제 

    db.language.deleteMany({})

     

    참고 : https://docs.mongodb.com/manual/crud/

    반응형

    댓글

Designed by Tistory.