1. Collection Method
공식 Document
- 공식 Document에 아래에 소개한 쿼리 함수 외에도 find(), findOne() 같은 기본적인 함수부터 다양한 함수들이 소개되어 있다.
- 생각보다 읽기 어렵지 않고, 가장 정확한 내용이므로 공식 문서를 보면서 익히는 연습을 하자
db.collection.bulkWrite()
- 여러 개의 insert, update, delete 등의 operation bulkWrite 메서드 안에 작성해서 한번에 수행할 수 있음
- ordered 파라미터를 false로 할 경우 작성한 operation의 순서를 무시하고 성능에 좋은 순서대로 최적화하여 작업을 진행함
- example
db.pizzas.bulkWrite( [
{ insertOne: { document: { _id: 3, type: "beef", size: "medium", price: 6 } } },
{ insertOne: { document: { _id: 4, type: "sausage", size: "large", price: 10 } } },
{ updateOne: {
filter: { type: "cheese" },
update: { $set: { price: 8 } }
} },
{ deleteOne: { filter: { type: "pepperoni"} } },
{ replaceOne: {
filter: { type: "vegan" },
replacement: { type: "tofu", size: "small", price: 4 }
} }
] )
db.collection.countDocuments()
- document 수를 확인한다
- example
example1
# Count all Documents in a Collection
# To count the number of all documents in the orders collection,
# use the following operation
db.orders.countDocuments({})
example2
# Count all Documents that Match a Query
# Count the number of the documents in the orders collection
# with the field ord_dt greater than new Date('01/01/2012'):
db.orders.countDocuments(
{ ord_dt: { $gt: new Date('01/01/2012') } },
{ limit: 100 }
)
db.collection.findAndModify()
- 동시성을 제어하기 위한 함수
- new 파라미터를 true로 할 경우 update(modify) 된 Document를 반환하고, false일 경우 update 되기 전의 Document를 반환한다. default는 false다
- 파라미터로 remove, update 가 있는데, 각각 findOneAndDelete(), findOneAndUpdate() 메서드랑 동일한 기능을 한다
db.collection.replaceOne()
- update는 Field를 수정할 때 사용하고, replace는 Document 전체를 수정할 때 사용한다
- 단, _id 필드는 변경되지 않는다. _id는 한번 생성되면 변경되지 않는 값이다.
db.collection.getIndexes()
db.collection.createIndex()
2. Cursor Method
공식 Document
cursor.limit()
- result의 개수를 제한해서 볼 때
3. User Management Method
db.auth()
db.getUsers()
db.createUser()
db.dropUser()
4. 그 외
공식 문서에 가면 Collection, Cursor Method 외에 Database Method, Bulk Operation Method, Role Management Method 등 다양하게 있다
'Back-End > MongoDB' 카테고리의 다른 글
[MongoDB] MQL 기초 5 - 배열과 내장 Document를 다루는 방법 2 (Update) (0) | 2024.05.31 |
---|---|
[MongoDB] MQL 기초 4 - 배열과 내장 Document를 다루는 방법 1 (Read) (0) | 2024.05.31 |
[MongoDB] MQL 기초 2 - 기본 CRUD (0) | 2024.05.31 |
[MongoDB] MQL 기초 1 - Query Filter와 Operator (0) | 2024.05.31 |
[MongoDB] SQL vs MQL 비교 문서 (0) | 2024.05.31 |