MongoDB API 참조
이 페이지의 내용
- mongodb.admin()
- admin.getDBNames()
- mongodb.db()
- database.getCollectionNames()
- database.collection()
- collection.find()
- Collection.findOne()
- collection.findOneAndUpdate()
- collection.findOneAndReplace()
- collection.findOneAndDelete()
- collection.insertOne()
- collection.insertMany()
- collection.updateOne()
- collection.updateMany()
- collection.deleteOne()
- collection.deleteMany()
- collection.aggregate()
- collection.count()
- collection.distinct()
- collection.bulkWrite()
mongodb.admin()
연결된 MongoDB 데이터 소스 에서 admin
데이터베이스 의 처리하다 을 가져옵니다. 이를 사용하여 admin.getDBNames()
과 같은 MongoDB 관리 명령을 실행 수 있습니다.
const mongodb = context.services.get("mongodb-atlas"); const admin = mongodb.admin();
매개변수
admin(): AdminDatabase
반환 값
mongodb.admin()
메서드는 AdminDatabase
객체를 반환합니다. 객체에는 MongoDB database 명령의 하위 집합을 래핑하는 헬퍼 메서드가 포함되어 있습니다. admin.getDBNames()
를 참조하세요.
admin.getDBNames()
MongoDB 데이터 소스의 데이터베이스 이름 목록을 반환합니다.
const mongodb = context.services.get("mongodb-atlas"); const admin = mongodb.admin(); const dbNames = admin.getDBNames();
매개변수
getDBNames(): string[]
반환 값
admin.getDBNames()
메서드는 각 요소가 데이터 소스의 데이터베이스 이름인 문자열 배열을 반환합니다.
mongodb.db()
연결된 MongoDB 데이터 소스에 있는 데이터베이스의 핸들을 가져옵니다.
const mongodb = context.services.get("mongodb-atlas"); const db = mongodb.db("myDB");
매개변수
db(name: string): Database
Parameter | 유형 | 설명 |
---|---|---|
name | 문자열 | 데이터베이스의 이름입니다. |
반환 값
mongodb.db()
메서드는 지정된 데이터베이스의 컬렉션에 액세스할 수 있게 해주는 Database
객체를 반환합니다.
database.collection()
를 참조하세요.
database.getCollectionNames()
데이터베이스에 있는 컬렉션 이름 목록을 반환합니다.
const mongodb = context.services.get("mongodb-atlas"); const db = mongodb.db("myDB"); const collectionNames = db.getCollectionNames();
매개변수
getCollectionNames(): string[]
반환 값
database.getCollectionNames()
메서드는 각 요소가 데이터베이스에 있는 컬렉션의 이름인 문자열 배열을 반환합니다.
database.collection()
database
핸들에서 연결된 MongoDB 데이터 소스의 컬렉션에 대한 핸들을 가져옵니다.
const mongodb = context.services.get("mongodb-atlas"); const db = mongodb.db("myDB"); const collection = db.collection("myCollection");
매개변수
collection(name: string): Collection
Parameter | 유형 | 설명 |
---|---|---|
name | 문자열 | 컬렉션의 이름입니다. |
반환 값
database.collection()
메서드는 지정된 컬렉션을 쿼리할 수 있는 컬렉션 객체를 반환합니다.
collection.find()
제공된 쿼리 필터와 일치하는 컬렉션 또는 보기의 모든 문서를 찾습니다. 일치하는 문서에 액세스할 수 있게 해주는 커서 객체를 반환합니다.
const query = { "reviews.0": { "$exists": true } }; const projection = { "_id": 0 }; return itemsCollection.find(query, projection) .sort({ name: 1 }) .toArray() .then(items => { console.log(`Successfully found ${items.length} documents.`) items.forEach(console.log) return items }) .catch(err => console.error(`Failed to find documents: ${err}`))
매개변수
find( query?: object, projection?: object, options?: object ): Cursor
Parameter | 유형 | 설명 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | 선택 사항. 찾을 문서를 지정하는 쿼리 필터 입니다. 빈 쿼리( 평가 , 지리 공간적 또는 비트 단위 선택기를 제외한 대부분의 쿼리 선택기 를 사용할 수 있습니다. 이러한 선택기는 시스템 기능에서만 사용할 수 있습니다. | |||||||||||
projection | object | 선택 사항. MongoDB가 일치하는 문서에 포함하거나 생략해야 하는 필드를 지정하는 문서입니다. 일치하는 문서의 모든 필드를 반환하려면 이 매개 변수를 생략하거나 빈 프로젝션 문서( 특정 필드와 문서의
특정 필드를 보류하려면 프로젝션 문서에서 해당 필드를
포함할 필드 또는 제외할 필드 중 하나를 지정할 수 있지만 둘 다 지정할 수는 없습니다. 이 규칙의 예외는
| |||||||||||
options | object | 추가 구성 옵션을 지정하는 객체입니다. | |||||||||||
options.session | ClientSession | 선택 사항. 작업이 발생하는 트랜잭션 컨텍스트를 나타내는 세션 객체입니다. 자세한 내용은 트랜잭션을 참조하세요. |
반환 값
collection.find()
메서드는 지정된 쿼리와 일치하는 모든 문서를 가리키는 커서 객체를 반환합니다. 다음 커서 메서드를 사용하여 쿼리 결과 집합의 문서를 조작하고 액세스할 수 있습니다.
메서드 | 설명 | ||
---|---|---|---|
cursor.next() | |||
cursor.toArray() | 커서가 소진될 때까지 반복하고 반복된 모든 문서가 포함된 배열로 해결되는 Promise를 반환합니다.
| ||
cursor.skip(amount) | 쿼리 결과 세트에서 생략할 일치하는 문서 수를 지정합니다. MongoDB는 지정된 숫자를 건너뛸 때까지 정렬 순서에 따라 결과 세트에서 문서를 생략합니다. 쿼리가 제한도 지정하는 경우 건너뛴 문서는 제한 임계값에 포함되지 않습니다. 참고 | ||
cursor.limit(limit) | 쿼리 결과 세트에 포함할 문서의 최대 개수입니다. 결과 세트에 지정된 참고 | ||
cursor.sort(sort) |
참고 다음 정렬 문서는 문서를 먼저
|
참고
함수에서는 커서 를 반환할 수 없습니다. 대신 cursor.next()
또는 cursor.toArray()
를 사용하여 커서 를 평가하고 결과를 반환합니다.
Collection.findOne()
컬렉션 또는 보기에서 단일 문서 를 찾습니다. 여러 문서가 쿼리 와 일치하면 컬렉션 에서 첫 번째로 일치하는 문서 가 반환됩니다. findOne()
메서드는 정렬을 지원 하지 않습니다. 이 문제를 해결하려면 sort()
및 next()
커서 메서드와 함께 find()
를 사용하여 정렬된 컬렉션 에서 단일 문서 를 반환합니다.
collection.find({}).sort({"<Field Name>": 1}).next() .then(result => console.log("Found Document: ", result))
const query = { "quantity": { "$gte": 25 } }; const projection = { "title": 1, "quantity": 1, } return itemsCollection.findOne(query, projection) .then(result => { if(result) { console.log(`Successfully found document: ${result}.`); } else { console.log("No document matches the provided query."); } return result; }) .catch(err => console.error(`Failed to find document: ${err}`));
매개변수
findOne( query?: object, projection?: object, options?: object ): Promise<object | null>
Parameter | 유형 | 설명 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | 선택 사항. 찾을 문서를 지정하는 쿼리 필터 입니다. 빈 쿼리( 평가 , 지리 공간적 또는 비트 단위 선택기를 제외한 대부분의 쿼리 선택기 를 사용할 수 있습니다. 이러한 선택기는 시스템 기능에서만 사용할 수 있습니다. | |||||||||||
projection | object | 선택 사항. MongoDB가 일치하는 문서에 포함하거나 생략해야 하는 필드를 지정하는 문서입니다. 일치하는 문서의 모든 필드를 반환하려면 이 매개 변수를 생략하거나 빈 프로젝션 문서( 특정 필드와 문서의
특정 필드를 보류하려면 프로젝션 문서에서 해당 필드를
포함할 필드 또는 제외할 필드 중 하나를 지정할 수 있지만 둘 다 지정할 수는 없습니다. 이 규칙의 예외는
| |||||||||||
options | object | 추가 구성 옵션을 지정하는 객체입니다. | |||||||||||
options.session | ClientSession | 선택 사항. 작업이 발생하는 트랜잭션 컨텍스트를 나타내는 세션 객체입니다. 자세한 내용은 트랜잭션을 참조하세요. |
반환 값
collection.findOne()
메서드는 Promise 를 반환합니다. 쿼리 와 일치하는 컬렉션 의 첫 번째 문서 로 해석됩니다. 지정된 쿼리 와 일치하는 문서가 없으면 promise는 null
로 해결됩니다.
Promise<object | null>
collection.findOneAndUpdate()
컬렉션이나 뷰의 단일 문서를 업데이트하고 업데이트 전 또는 업데이트 후 형식으로 문서를 반환합니다.
collection.updateOne()
과 달리 이 작업을 사용하면 동일한 명령으로 문서를 원자적으로 찾고, 수정하고, 반환할 수 있습니다. 이렇게 하면 별도의 찾기 작업과 업데이트 작업 사이에 다른 업데이트 작업으로 인해 문서가 변경될 위험을 방지할 수 있습니다.
// Find the document that describes "lego" const query = { "name": "lego" }; // Set some fields in that document const update = { "$set": { "name": "blocks", "price": 20.99, "category": "toys" } }; // Return the updated document instead of the original document const options = { returnNewDocument: true }; return itemsCollection.findOneAndUpdate(query, update, options) .then(updatedDocument => { if(updatedDocument) { console.log(`Successfully updated document: ${updatedDocument}.`) } else { console.log("No document matches the provided query.") } return updatedDocument }) .catch(err => console.error(`Failed to find and update document: ${err}`))
매개변수
findOneAndUpdate( query: object, update: object, options?: object ): Promise<object | null>
Parameter | 유형 | 설명 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | 찾을 문서를 지정하는 쿼리 필터 입니다. 빈 쿼리( 평가 , 지리 공간적 또는 비트 단위 선택기를 제외한 대부분의 쿼리 선택기 를 사용할 수 있습니다. 이러한 선택기는 시스템 기능에서만 사용할 수 있습니다. | |||||||||||
update | object | MongoDB 업데이트 연산자 를 사용하여 수행할 수정 사항을 지정하는 업데이트 문서 입니다. | |||||||||||
options | object | 추가 구성 옵션을 지정하는 객체입니다. | |||||||||||
options.upsert | boolean | 선택 사항 기본값:
| |||||||||||
options.sort | boolean | 선택 사항. 쿼리 정렬 순서를 지정합니다. 정렬할 필드를 하나 이상 지정할 수 있으며, 각 필드 값은 MongoDB가 오름차순( 다음 정렬 문서는 문서를 먼저
| |||||||||||
options.projection | boolean | MongoDB가 일치하는 문서에 포함하거나 생략해야 하는 필드를 지정하는 문서입니다. 일치하는 문서의 모든 필드를 반환하려면 이 매개 변수를 생략하거나 빈 프로젝션 문서( 특정 필드와 문서의
특정 필드를 보류하려면 프로젝션 문서에서 해당 필드를
포함할 필드 또는 제외할 필드 중 하나를 지정할 수 있지만 둘 다 지정할 수는 없습니다. 이 규칙의 예외는
| |||||||||||
options.returnNewDocument | boolean | 선택 사항 기본값:
| |||||||||||
options.session | ClientSession | 선택 사항. 작업이 발생하는 트랜잭션 컨텍스트를 나타내는 세션 객체입니다. 자세한 내용은 트랜잭션을 참조하세요. |
반환 값
collection.findOneAndUpdate()
메서드는 Promise 를 반환합니다. 쿼리가 덮어쓴 단일 문서로 확인됩니다. 지정된 쿼리와 일치하는 문서가 없는 경우 promise는 null
로 해결됩니다.
Promise<object | null>
참고
options.returnNewDocument
값을 설정하여 문서의 대체 전 버전을 반환할지 대체 후 버전을 반환할지 여부를 지정할 수 있습니다. 기본적으로 returnNewDocument
는 false
이며, 이는 promise가 문서가 업데이트 전 버전으로 해결되어야 함을 나타냅니다.
collection.findOneAndReplace()
컬렉션이나 뷰의 단일 문서를 덮어쓰고 대체 전 또는 대체 후 형식으로 문서를 반환합니다.
collection.updateOne()
과 달리 이 작업을 사용하면 동일한 명령으로 문서를 원자적으로 찾고, 수정하고, 반환할 수 있습니다. 이렇게 하면 별도의 찾기 작업과 업데이트 작업 사이에 다른 업데이트 작업으로 인해 문서가 변경될 위험을 방지할 수 있습니다.
// Find the document that describes "lego" const query = { "name": "lego" }; // Replace it with a new document const replacement = { "name": "blocks", "price": 20.99, "category": "toys" }; // Return the original document as it was before being replaced const options = { "returnNewDocument": false }; return itemsCollection.findOneAndReplace(query, replacement, options) .then(replacedDocument => { if(replacedDocument) { console.log(`Successfully replaced the following document: ${replacedDocument}.`) } else { console.log("No document matches the provided query.") } return updatedDocument }) .catch(err => console.error(`Failed to find and replace document: ${err}`))
매개변수
findOneAndReplace( query: object, replacement: object, options?: object ): Promise<object | null>
Parameter | 유형 | 설명 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | 찾을 문서를 지정하는 쿼리 필터 입니다. 빈 쿼리( 평가 , 지리 공간적 또는 비트 단위 선택기를 제외한 대부분의 쿼리 선택기 를 사용할 수 있습니다. 이러한 선택기는 시스템 기능에서만 사용할 수 있습니다. | |||||||||||
replacement | object | 일치하는 문서를 대체할 문서입니다. 대체 문서에는 MongoDB 업데이트 연산자를 포함할 수 없습니다. | |||||||||||
options | object | 추가 구성 옵션을 지정하는 객체입니다. | |||||||||||
options.upsert | boolean | 선택 사항 기본값:
| |||||||||||
options.sort | boolean | 선택 사항. 쿼리 정렬 순서를 지정합니다. 정렬할 필드를 하나 이상 지정할 수 있으며, 각 필드 값은 MongoDB가 오름차순( 다음 정렬 문서는 문서를 먼저
| |||||||||||
options.projection | boolean | MongoDB가 일치하는 문서에 포함하거나 생략해야 하는 필드를 지정하는 문서입니다. 일치하는 문서의 모든 필드를 반환하려면 이 매개 변수를 생략하거나 빈 프로젝션 문서( 특정 필드와 문서의
특정 필드를 보류하려면 프로젝션 문서에서 해당 필드를
포함할 필드 또는 제외할 필드 중 하나를 지정할 수 있지만 둘 다 지정할 수는 없습니다. 이 규칙의 예외는
| |||||||||||
options.returnNewDocument | boolean | 선택 사항 기본값:
| |||||||||||
options.session | ClientSession | 선택 사항. 작업이 발생하는 트랜잭션 컨텍스트를 나타내는 세션 객체입니다. 자세한 내용은 트랜잭션을 참조하세요. |
반환 값
collection.findOneAndReplace()
메서드는 Promise 를 반환합니다. 쿼리가 덮어쓴 단일 문서로 확인됩니다. 지정된 쿼리와 일치하는 문서가 없는 경우 promise는 null
로 해결됩니다.
Promise<object | null>
참고
options.returnNewDocument
값을 설정하여 문서의 대체 전 버전을 반환할지 대체 후 버전을 반환할지 여부를 지정할 수 있습니다. 기본적으로 returnNewDocument
는 false
이며, 이는 promise가 문서가 업데이트 전 버전으로 해결되어야 함을 나타냅니다.
collection.findOneAndDelete()
컬렉션에서 단일 문서를 제거하고 삭제된 문서를 삭제되기 직전의 상태로 반환합니다.
collection.updateOne()
과 달리 이 작업을 사용하면 동일한 명령으로 문서를 원자적으로 찾고, 수정하고, 반환할 수 있습니다. 이렇게 하면 별도의 찾기 작업과 업데이트 작업 사이에 다른 업데이트 작업으로 인해 문서가 변경될 위험을 방지할 수 있습니다.
// Find the first document that has a quantity greater than 25 const query = { "quantity": { "$gte": 25 } }; // Sort the documents in order of descending quantity before // deleting the first one. const options = { "sort": { "quantity": -1 } } return itemsCollection.findOneAndDelete(query, options) .then(deletedDocument => { if(deletedDocument) { console.log(`Successfully deleted document that had the form: ${deletedDocument}.`) } else { console.log("No document matches the provided query.") } return deletedDocument }) .catch(err => console.error(`Failed to find and delete document: ${err}`))
매개변수
findOneAndDelete( query: object, options?: object ): Promise<object | null>
Parameter | 유형 | 설명 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | 찾을 문서를 지정하는 쿼리 필터 입니다. 빈 쿼리( 평가 , 지리 공간적 또는 비트 단위 선택기를 제외한 대부분의 쿼리 선택기 를 사용할 수 있습니다. 이러한 선택기는 시스템 기능에서만 사용할 수 있습니다. | |||||||||||
options | object | 추가 구성 옵션을 지정하는 객체입니다. | |||||||||||
options.sort | boolean | 선택 사항. 쿼리 정렬 순서를 지정합니다. 정렬할 필드를 하나 이상 지정할 수 있으며, 각 필드 값은 MongoDB가 오름차순( 다음 정렬 문서는 문서를 먼저
| |||||||||||
options.projection | boolean | MongoDB가 일치하는 문서에 포함하거나 생략해야 하는 필드를 지정하는 문서입니다. 일치하는 문서의 모든 필드를 반환하려면 이 매개 변수를 생략하거나 빈 프로젝션 문서( 특정 필드와 문서의
특정 필드를 보류하려면 프로젝션 문서에서 해당 필드를
포함할 필드 또는 제외할 필드 중 하나를 지정할 수 있지만 둘 다 지정할 수는 없습니다. 이 규칙의 예외는
| |||||||||||
options.session | ClientSession | 선택 사항. 작업이 발생하는 트랜잭션 컨텍스트를 나타내는 세션 객체입니다. 자세한 내용은 트랜잭션을 참조하세요. |
반환 값
collection.findOneAndDelete()
메서드는 Promise 를 반환합니다. 쿼리가 삭제한 단일 문서로 확인됩니다. 지정된 쿼리와 일치하는 문서가 없는 경우 promise는 null
로 해결됩니다.
Promise<object | null>
collection.insertOne()
단일 문서를 컬렉션에 삽입하고 삽입된 문서의 _id
를 반환합니다.
const newItem = { "name": "Plastic Bricks", "quantity": 10, "category": "toys", "reviews": [{ "username": "legolover", "comment": "These are awesome!" }] }; itemsCollection.insertOne(newItem) .then(result => console.log(`Successfully inserted item with _id: ${result.insertedId}`)) .catch(err => console.error(`Failed to insert item: ${err}`))
매개변수
insertOne(document: object): Promise<object>
Parameter | 유형 | 설명 |
---|---|---|
document | object | 컬렉션에 삽입할 문서입니다. |
반환 값
collection.insertOne()
메서드는 삽입 작업을 설명하는 문서로 해결되는 Promise를 반환합니다.
Promise<object>
값 | 유형 | 설명 |
---|---|---|
result.insertedId | string | 삽입 작업으로 컬렉션에 추가한 문서의 _id 값입니다. |
collection.insertMany()
컬렉션에 하나 이상의 문서를 삽입하고 삽입한 각 문서에 대한 _id
값이 포함된 목록을 반환합니다.
const doc1 = { "name": "basketball", "category": "sports", "quantity": 20, "reviews": [] }; const doc2 = { "name": "football", "category": "sports", "quantity": 30, "reviews": [] }; return itemsCollection.insertMany([doc1, doc2]) .then(result => { console.log(`Successfully inserted ${result.insertedIds.length} items!`); return result }) .catch(err => console.error(`Failed to insert documents: ${err}`))
매개변수
insertMany( document: object, options?: { ordered?: boolean }, ): Promise<object>
Parameter | 유형 | 설명 |
---|---|---|
documents | object | 컬렉션에 삽입할 문서의 배열입니다. |
options | object | 추가 구성 옵션을 지정하는 객체입니다. |
options.ordered | boolean | 선택 사항. mongod 인스턴스가 정렬된 삽입을 수행할지, 정렬되지 않은 삽입을 수행할지 여부를 지정하는 부울입니다. 기본값은 true 입니다. |
반환 값
collection.insertMany()
메서드는 삽입 작업을 설명하는 문서로 해결되는 Promise를 반환합니다.
Promise<object>
값 | 유형 | 설명 |
---|---|---|
result.insertedIds: Array<ObjectID> | string | 삽입 작업이 메서드에 전달된 순서대로 컬렉션에 추가한 모든 문서의 _id 값을 포함하는 배열입니다. |
collection.updateOne()
컬렉션의 단일 문서를 업데이트하고 작업에 대한 메타데이터를 반환합니다.
const query = { "name": "football" }; const update = { "$push": { "reviews": { "username": "tombradyfan", "comment": "I love football!!!" } } }; const options = { "upsert": false }; itemsCollection.updateOne(query, update, options) .then(result => { const { matchedCount, modifiedCount } = result; if(matchedCount && modifiedCount) { console.log(`Successfully added a new review.`) } }) .catch(err => console.error(`Failed to add review: ${err}`))
매개변수
updateOne( query: object, update: object, options?: object ): Promise<object>
Parameter | 유형 | 설명 |
---|---|---|
query | object | 찾을 문서를 지정하는 쿼리 필터 입니다. 빈 쿼리( 평가 , 지리 공간적 또는 비트 단위 선택기를 제외한 대부분의 쿼리 선택기 를 사용할 수 있습니다. 이러한 선택기는 시스템 기능에서만 사용할 수 있습니다. |
update | object | MongoDB 업데이트 연산자 를 사용하여 수행할 수정 사항을 지정하는 업데이트 문서 입니다. |
options | object | 추가 구성 옵션을 지정하는 객체입니다. |
options.upsert | boolean | 선택 사항 기본값:
|
options.session | ClientSession | 선택 사항. 작업이 발생하는 트랜잭션 컨텍스트를 나타내는 세션 객체입니다. 자세한 내용은 트랜잭션을 참조하세요. |
반환 값
collection.updateOne()
메서드는 업데이트 작업을 설명하는 문서로 해결되는 Promise를 반환합니다.
Promise<object>
값 | 유형 | 설명 |
---|---|---|
result.matchedCount | number | 제공된 쿼리와 일치하는 컬렉션 내 문서 수입니다. |
result.modifiedCount | number | 업데이트 작업에 의해 수정된 컬렉션 내 문서 수입니다. |
result.upsertedId | string | 업서트 작업에 의해 삽입된 문서의 _id 값입니다. 이 값은 upsert 옵션이 활성화되어 있고 업데이트 쿼리가 어떤 문서와도 일치하지 않는 경우에만 존재합니다. |
collection.updateMany()
컬렉션에 있는 하나 이상의 문서를 업데이트하고 작업에 대한 메타데이터를 반환합니다.
const query = {}; const update = { "$mul": { "quantity": 10 } }; const options = { "upsert": false } return itemsCollection.updateMany(query, update, options) .then(result => { const { matchedCount, modifiedCount } = result; console.log(`Successfully matched ${matchedCount} and modified ${modifiedCount} items.`) return result }) .catch(err => console.error(`Failed to update items: ${err}`))
매개변수
updateMany( query: object, update: object, options?: object ): Promise<object>
Parameter | 유형 | 설명 |
---|---|---|
query | object | 찾을 문서를 지정하는 쿼리 필터 입니다. 빈 쿼리( 평가 , 지리 공간적 또는 비트 단위 선택기를 제외한 대부분의 쿼리 선택기 를 사용할 수 있습니다. 이러한 선택기는 시스템 기능에서만 사용할 수 있습니다. |
update | object | MongoDB 업데이트 연산자 를 사용하여 수행할 수정 사항을 지정하는 업데이트 문서 입니다. |
options | object | 추가 구성 옵션을 지정하는 객체입니다. |
options.upsert | boolean | 선택 사항 기본값:
|
options.session | ClientSession | 선택 사항. 작업이 발생하는 트랜잭션 컨텍스트를 나타내는 세션 객체입니다. 자세한 내용은 트랜잭션을 참조하세요. |
반환 값
collection.updateMany()
메서드는 업데이트 작업을 설명하는 문서로 해결되는 Promise를 반환합니다.
Promise<object>
값 | 유형 | 설명 |
---|---|---|
result.matchedCount | number | 제공된 쿼리와 일치하는 컬렉션 내 문서 수입니다. |
result.modifiedCount | number | 업데이트 작업에 의해 수정된 컬렉션 내 문서 수입니다. |
result.upsertedId | string | 업서트 작업에 의해 삽입된 문서의 _id 값입니다. 이 값은 upsert 옵션이 활성화되어 있고 업데이트 쿼리가 어떤 문서와도 일치하지 않는 경우에만 존재합니다. |
collection.deleteOne()
컬렉션에서 단일 문서를 제거합니다.
const query = { "name": "lego" }; itemsCollection.deleteOne(query) .then(result => console.log(`Deleted ${result.deletedCount} item.`)) .catch(err => console.error(`Delete failed with error: ${err}`))
매개변수
deleteOne( query: object, options?: object ): Promise<object>
Parameter | 유형 | 설명 |
---|---|---|
query | object | 찾을 문서를 지정하는 쿼리 필터 입니다. 빈 쿼리( 평가 , 지리 공간적 또는 비트 단위 선택기를 제외한 대부분의 쿼리 선택기 를 사용할 수 있습니다. 이러한 선택기는 시스템 기능에서만 사용할 수 있습니다. |
options | object | 추가 구성 옵션을 지정하는 객체입니다. |
options.session | ClientSession | 선택 사항. 작업이 발생하는 트랜잭션 컨텍스트를 나타내는 세션 객체입니다. 자세한 내용은 트랜잭션을 참조하세요. |
반환 값
collection.deleteOne()
메서드는 삭제 작업을 설명하는 문서로 해결되는 Promise를 반환합니다.
Promise<object>
값 | 유형 | 설명 |
---|---|---|
result.deletedCount | number | 컬렉션에서 삭제 조작에 의해 삭제된 문서 수입니다. |
collection.deleteMany()
컬렉션에서 하나 이상의 문서를 제거합니다.
const query = { "reviews": { "$size": 0 } }; itemsCollection.deleteMany(query) .then(result => console.log(`Deleted ${result.deletedCount} item(s).`)) .catch(err => console.error(`Delete failed with error: ${err}`))
매개변수
deleteMany( query: object, options?: object ): Promise<object>
Parameter | 유형 | 설명 |
---|---|---|
query | object | 찾을 문서를 지정하는 쿼리 필터 입니다. 빈 쿼리( 평가 , 지리 공간적 또는 비트 단위 선택기를 제외한 대부분의 쿼리 선택기 를 사용할 수 있습니다. 이러한 선택기는 시스템 기능에서만 사용할 수 있습니다. |
options | object | 추가 구성 옵션을 지정하는 객체입니다. |
options.session | ClientSession | 선택 사항. 작업이 발생하는 트랜잭션 컨텍스트를 나타내는 세션 객체입니다. 자세한 내용은 트랜잭션을 참조하세요. |
반환 값
collection.deleteMany()
메서드는 삭제 작업을 설명하는 문서로 해결되는 Promise를 반환합니다.
Promise<object>
값 | 유형 | 설명 |
---|---|---|
result.deletedCount | number | 컬렉션에서 삭제 조작에 의해 삭제된 문서 수입니다. |
collection.aggregate()
집계 파이프라인 을 실행하고 파이프라인의 출력 문서에 액세스 할 수 있는 커서 를 반환합니다.
const pipeline = [ { "$group": { "_id": "$customerId", "numPurchases": { "$sum": 1 }, "numItemsPurchased": { "$sum": { "$size": "$items" } } } }, { "$addFields": { "averageNumItemsPurchased": { "$divide": ["$numItemsPurchased", "$numPurchases"] } } } ] return purchasesCollection.aggregate(pipeline).toArray() .then(customers => { console.log(`Successfully grouped purchases for ${customers.length} customers.`) for(const customer of customers) { console.log(`customer: ${customer._id}`) console.log(`num purchases: ${customer.numPurchases}`) console.log(`total items purchased: ${customer.numItemsPurchased}`) console.log(`average items per purchase: ${customer.averageNumItemsPurchased}`) } return customers }) .catch(err => console.error(`Failed to group purchases by customer: ${err}`))
매개변수
aggregate( pipeline: object[], options?: object ): Cursor
Parameter | 유형 | 설명 |
---|---|---|
pipeline | object[] | 하나 이상의 집계 파이프라인 단계 의 배열 입니다. $indexStats를 제외한 모든 집계 파이프라인 단계 를 사용할 수 있습니다. |
options | object | 추가 구성 옵션을 지정하는 객체입니다. |
options.session | ClientSession | 선택 사항. 작업이 발생하는 트랜잭션 컨텍스트를 나타내는 세션 객체입니다. 자세한 내용은 트랜잭션을 참조하세요. |
반환 값
collection.aggregate()
메서드는 집계 파이프라인의 마지막 단계에서 출력되는 모든 문서를 가리키는 커서 객체를 반환합니다. 다음 메서드를 사용하여 집계 결과 세트의 문서를 조작하고 액세스할 수 있습니다.
메서드 | 설명 | ||
---|---|---|---|
cursor.next() | |||
cursor.toArray() | 커서가 소진될 때까지 반복하고 반복된 모든 문서가 포함된 배열로 해결되는 Promise를 반환합니다.
| ||
cursor.skip(amount) | 집계 결과 세트에서 생략할 일치하는 문서 수를 지정합니다. MongoDB는 지정된 숫자를 건너뛸 때까지 정렬 순서에 따라 결과 세트에서 문서를 생략합니다.
|
참고
함수에서는 커서 를 반환할 수 없습니다. 대신 cursor.next()
또는 cursor.toArray()
를 사용하여 커서 를 평가하고 결과를 반환합니다.
collection.count()
주어진 쿼리와 일치하는 컬렉션이나 뷰의 문서 수를 반환합니다.
return itemsCollection.count({ "reviews.0": { "$exists": true } }) .then(numDocs => console.log(`${numDocs} items have a review.`)) .catch(err => console.error("Failed to count documents: ", err))
매개변수
count( query?: object, options?: object ): Promise<number>
Parameter | 유형 | 설명 |
---|---|---|
query | object | 선택 사항. 찾을 문서를 지정하는 쿼리 필터 입니다. 빈 쿼리( 평가 , 지리 공간적 또는 비트 단위 선택기를 제외한 대부분의 쿼리 선택기 를 사용할 수 있습니다. 이러한 선택기는 시스템 기능에서만 사용할 수 있습니다. |
options | object | 추가 구성 옵션을 지정하는 객체입니다. |
options.session | ClientSession | 선택 사항. 작업이 발생하는 트랜잭션 컨텍스트를 나타내는 세션 객체입니다. 자세한 내용은 트랜잭션을 참조하세요. |
반환 값
collection.count()
메서드는 컬렉션에서 쿼리와 일치하는 문서의 정수 수로 해결되는 Promise를 반환합니다.
Promise<number>
값 | 설명 |
---|---|
Count Result numDocs: <integer> | 제공된 쿼리와 일치하는 컬렉션 내 문서 수입니다. |
collection.distinct()
지정된 쿼리 필터와 일치하는 문서를 찾고 일치하는 모든 문서에서 특정 필드에 대한 고유 값 목록을 반환합니다.
1 const taskCollection = context.services.get("mongodb-atlas") 2 .db("tracker").collection("tasks"); 3 4 return taskCollection.distinct("status", {}) 5 .then(results => { 6 console.log(JSON.stringify(results)); 7 console.log(results.length); 8 }) 9 .catch(err => console.error(err))
매개변수
distinct( field: string, query: object, options?: object ): Promise<any[]>
Parameter | 유형 | 설명 |
---|---|---|
field | string | 각 문서에서 고유 값을 찾을 수 있는 필드의 이름입니다. |
query | object | 찾을 문서를 지정하는 쿼리 필터 입니다. 빈 쿼리( 평가 , 지리 공간적 또는 비트 단위 선택기를 제외한 대부분의 쿼리 선택기 를 사용할 수 있습니다. 이러한 선택기는 시스템 기능에서만 사용할 수 있습니다. |
options | object | 추가 구성 옵션을 지정하는 객체입니다. |
options.session | ClientSession | 선택 사항. 작업이 발생하는 트랜잭션 컨텍스트를 나타내는 세션 객체입니다. 자세한 내용은 트랜잭션을 참조하세요. |
반환 값
collection.distinct()
메서드는 고유 값의 배열로 해결되는 Promise를 반환합니다.
Promise<any[]>
collection.bulkWrite()
단일 호출로 컬렉션에 대해 여러 삽입, 업데이트 및 삭제 작업을 실행합니다. bulkWrite()
함수 내에서 다음 쓰기 작업 중 하나 이상을 지정할 수 있습니다.
insertOne
updateOne
updateMany
deleteOne
deleteMany
replaceOne
참고
일괄 쓰기는 단일 컬렉션에서만 작동할 수 있습니다.
exports = async function(arg){ const doc1 = { "name": "velvet elvis", "quantity": 20, "reviews": [] }; const doc2 = { "name": "mock turtleneck", "quantity": 30, "reviews": [] }; var collection = context.services.get("mongodb-atlas") .db("store") .collection("purchases"); return await collection.bulkWrite( [{ insertOne: doc1}, { insertOne: doc2}], {ordered:true}); };
매개변수
bulkWrite( operations: object[], options?: object ): Promise<null>
Parameter | 유형 | 설명 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operations | object[] | 수행할 bulkWrite 작업의 배열입니다. 지원되는 작업의 예시는 다음과 같습니다:
| |||||||||||
options | object | 추가 구성 옵션을 지정하는 객체입니다. | |||||||||||
options.ordered | boolean | 선택 사항 기본값:
순서가 지정되지 않은 작업은 MongoDB가 병렬로 실행할 수 있기 때문에 이론적으로는 더 빠르게 처리되지만, 쓰기가 순서에 의존하지 않는 경우에만 사용해야 합니다. | |||||||||||
options.bypassDocumentValidation | boolean | 선택 사항 기본값:
| |||||||||||
options.session | ClientSession | 선택 사항. 작업이 발생하는 트랜잭션 컨텍스트를 나타내는 세션 객체입니다. 자세한 내용은 트랜잭션을 참조하세요. |
반환 값
collection.bulkWrite()
함수는 null
Promise 를 반환합니다. 로 해석됩니다.
Promise<null>