-
[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({})
반응형'NoSQL > MongoDB' 카테고리의 다른 글
[MongoDB] MongoDB - 비교 연산자(Comparison Operator) (0) 2022.07.04 [MongoDB] MongoDB - sort(), limit(), skip() 메서드 (0) 2022.03.16 [MongoDB] Robomongo 3T - Database, Collection, Document 생성 및 조회 (0) 2022.03.10 [MongoDB] MongoDB 명령어 - Database, Collection, Document (0) 2022.03.08 [MongoDB] MongoDB 설치 및 환경 설정(Windows10) (0) 2022.03.08