Back-End/MongoDB

[MongoDB] MQL 기초 3 - 유용한 CRUD 쿼리 함수

유자맛바나나 2024. 5. 31. 01:48

1. Collection Method

공식 Document

Collection Methods

 

Collection Methods - MongoDB Manual v7.0

For details on a specific method, including syntax and examples, click on the link to the method's reference page.

www.mongodb.com

  • 공식 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 Methods

 

Cursor Methods - MongoDB Manual v7.0

mongosh MethodsThe methods listed on this table of contents page are mongosh methods. This is not the documentation for Node.js or other programming language specific driver methods.In most cases, mongosh methods work the same way as the legacy mongo shell

www.mongodb.com

 

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 등 다양하게 있다