MongoDB에서 배열에 저장된 숫자 중 짝수만 골라내거나 제거하고 싶다면 $mod 연산자와 $pull 연산자를 함께 사용하면 됩니다. $mod는 나머지 연산을 수행하는 연산자로, [2, 0] 조건을 지정하면 2로 나눈 나머지가 0인 값, 즉 짝수를 정확히 찾아낼 수 있습니다.아래에서 실제 예제를 통해 단계별로 살펴보겠습니다.1. 테스트 컬렉션 생성하기먼저 숫자 배열을 포함하는 문서로 컬렉션을 생성합니다.> db.pullEvenNumbersDemo.insertOne({AllNumbers:[101,102,104,106,108,1
MongoDB에서 컬렉션의 문서를 조회할 때 하나의 필드만이 아니라 여러 필드에 대한 조건을 조합해서 검색해야 하는 경우가 자주 발생합니다. 이럴 때는 find() 메서드와 함께 $or 연산자를 사용하면 간단하게 해결할 수 있습니다.1. 테스트 데이터 준비하기먼저 예제에 사용할 컬렉션을 만들고 문서를 삽입하겠습니다.> db.findDocumentWithFilterDemo.insertOne({ClientName:Robert,IsMarried:false}); { acknowledged : true, insertedId
MongoDB에서 배열 필드의 특정 인덱스에 저장된 값이 true인지 확인하려면 점(.) 표기법(dot notation)을 사용하면 됩니다. 이 글에서는 배열 내 특정 위치의 불리언 값을 조회하는 방법을 단계별로 살펴보겠습니다.1. 테스트용 컬렉션 생성하기먼저 예제로 사용할 컬렉션을 만들고 문서를 하나 삽입합니다. 아래 예시에서는 결혼 여부를 나타내는 불리언 값들의 배열을 가진 문서를 생성합니다.> db.containsTrueValueDemo.insertOne({IsMarried:[true,false,true,true,true
MongoDB에서 update() 메서드와 함께 $set 연산자를 사용하면 조건에 일치하는 문서들의 특정 필드 값을 손쉽게 변경할 수 있습니다. 특히 {multi: true} 옵션을 추가하면 일치하는 모든 문서의 필드를 한 번에 업데이트할 수 있습니다.먼저 예제에 사용할 문서들이 담긴 컬렉션을 생성해 보겠습니다.1. 샘플 컬렉션 생성> db.workingOfUpdateMethod.insertOne({ClientCountryName : AUS}); { acknowledged : true, insertedId : Obj
MongoDB에서 내부 필드 업데이트하기MongoDB에서 문서의 내부(중첩) 필드를 업데이트하려면 update() 메서드와 $set 연산자를 함께 사용하고, 점(.) 표기법으로 외부 필드 이름과 내부 필드 이름을 연결하면 됩니다.기본 문법은 다음과 같습니다.db.yourCollectionName.update({_id : yourObjectId}, {$set : {yourOuterFieldName.yourInnerFieldName : yourValue}});아래에서 실제 예제를 통해 단계별로 살펴보겠습니다.1. 컬렉션 생성 및 문서
MongoDB에서 배열 안에 포함된 해시(hash), 즉 내장 문서(embedded document)의 특정 필드 값을 기준으로 데이터를 검색하는 방법을 알아보겠습니다. 점 표기법(dot notation)을 사용하면 배열 내부의 객체 필드에 손쉽게 접근할 수 있습니다.1. 샘플 컬렉션 생성하기먼저 insertOne() 메서드를 사용하여 문서들이 담긴 컬렉션을 생성합니다. 각 문서는 TechnicalDetails라는 배열 필드를 가지며, 그 안에 Language 키를 포함한 객체가 들어 있습니다.> db.searchAnArray
MongoDB $divide 집계 연산자란?MongoDB의 애그리게이션(Aggregation) 프레임워크에서 $divide 연산자는 두 숫자 필드를 나누어 새로운 값을 계산할 때 사용하는 강력한 도구입니다. 이 연산자를 활용하면 저장된 데이터를 기반으로 비율, 평균값 등 다양한 파생 지표를 손쉽게 도출할 수 있습니다.이번 글에서는 실제 예제를 통해 $divide 연산자의 사용법을 단계별로 살펴보겠습니다.1단계: 컬렉션 생성 및 문서 삽입먼저 예제로 사용할 컬렉션을 만들고 문서를 하나 삽입해 보겠습니다. insertOne() 메서드를
MongoDB에서 특정 조건에 맞는 문서를 조회하면서 원하는 필드 하나만 가져오고 싶다면, $and 연산자와 프로젝션(projection)을 함께 사용하면 됩니다. 이 글에서는 실제 예제를 통해 그 과정을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 및 문서 생성하기먼저 insertOne() 메서드를 사용하여 학생 정보가 담긴 컬렉션을 만들어 보겠습니다.> db.selectingASingleFieldDemo.insertOne({StudentFirstName:John,StudentAge:23,StudentCountryName:US}
MongoDB 셸에서 별칭 정의하기MongoDB 셸(mongo shell)은 JavaScript 기반으로 동작하기 때문에, JavaScript의 Object.defineProperty() 메서드를 활용하면 특정 구문이나 함수에 별칭(alias)을 정의할 수 있습니다. 이를 통해 반복적으로 사용하는 명령어나 긴 쿼리를 더 짧고 편리하게 호출할 수 있습니다.별칭 정의 기본 문법별칭을 정의하려면 아래와 같은 문법을 사용합니다.Object.defineProperty(this, yourFunctionName, { get: functi
MongoDB에서 내장 문서(embedded document)의 하위 필드를 검색하려면 큰따옴표( )로 감싼 점 표기법(dot notation)을 사용하면 됩니다. 이번 글에서는 실제 예제를 통해 하위 필드를 검색하는 과정을 단계별로 살펴보겠습니다. 1. 샘플 컬렉션 생성하기 먼저 insertOne() 메서드를 사용하여 문서가 담긴 컬렉션을 생성합니다. UserDetails라는 내장 문서 안에 사용자 이메일 주소와 나이 정보를 함께 저장해 보겠습니다. > db.searchSubFieldDemo.insertOne( ...
MongoDB에서는 $pull 연산자를 위치 연산자($)와 함께 사용하여 배열 내 특정 조건에 맞는 요소를 손쉽게 제거할 수 있습니다. 이 글에서는 실제 예제를 통해 그 사용 방법을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 insertOne() 메서드를 사용하여 문서가 포함된 컬렉션을 생성합니다.> db.pullWithPositionalOperatorDemo.insertOne( ... { ... _id: 100, ... StudentDetails: [ ... { ...
MongoDB에서 배열 형태로 저장된 객체(object) 안에 있는 필드 값을 조건으로 조회해야 하는 경우가 자주 있습니다. 특히 하나의 문서 안에서 두 개 이상의 특정 ID가 모두 존재하는지 확인하고 싶다면, $and 연산자를 활용하면 됩니다.테스트용 컬렉션 생성하기먼저 예제로 사용할 컬렉션을 만들고 샘플 문서를 삽입해 보겠습니다. 아래 예제에서는 선수 정보를 담은 PlayerDetails 배열을 포함한 문서 두 개를 생성합니다.> db.twoSpecificIdsDemo.insertOne( ... { ... Pl
MongoDB에서 필드가 없는 경우에만 삽입하는 방법MongoDB에서 특정 필드가 존재하지 않는 문서에만 새로운 필드를 추가하고 싶은 경우가 자주 있습니다. 이때 $exists 연산자와 update() 메서드를 조합하면 이미 해당 필드를 가진 문서는 그대로 두고, 필드가 없는 문서에만 값을 안전하게 삽입할 수 있습니다.실제 동작 과정을 단계별로 살펴보겠습니다.1단계: 샘플 컬렉션 생성 및 문서 삽입먼저 테스트용 컬렉션을 만들고 세 개의 문서를 삽입합니다. 마지막 문서만 StudentAge 필드를 가지고 있다는 점에 주목하세요.>
MongoDB에서 두 개의 속성(필드) 값을 더한 결과를 기준으로 문서를 검색하려면 애그리게이션 프레임워크(Aggregation Framework)를 활용하는 것이 가장 효과적입니다. 이 글에서는 $add 연산자로 두 필드의 합계를 계산한 뒤, $match 단계에서 특정 숫자보다 작은 값의 문서만 필터링하는 방법을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 실습에 사용할 문서들이 담긴 컬렉션을 생성합니다. 각 문서는 Value1과 Value2라는 두 개의 숫자 필드를 가지고 있습니다.> db.searchDocumen
MongoDB에서 배열 내부에 저장된 여러 항목을 한 번에 검색하려면 애그리게이션 프레임워크(Aggregation Framework)를 활용하는 것이 가장 효과적입니다. 이 글에서는 실제 예제를 통해 배열 요소를 조건에 맞게 필터링하고, 원래의 배열 형태로 결과를 되돌려받는 과정을 단계별로 살펴보겠습니다.1. 테스트용 컬렉션 생성먼저 사용자 정보 배열을 포함하는 문서 하나로 컬렉션을 생성합니다.> db.retrieveMultipleDemo.insertOne( ... { ... UserDetails: ...
MongoDB 하위 문서 필드의 합계 구하기MongoDB에서 중첩된 하위 문서(sub-document) 내부의 숫자 필드 값을 모두 더하려면 애그리게이션 프레임워크(Aggregation Framework)를 활용하면 됩니다. 이 글에서는 실제 예제를 통해 하위 문서 필드의 합계를 구하는 과정을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성먼저 고객 구매 정보가 중첩된 문서 형태로 저장된 컬렉션을 만들어 보겠습니다. insertOne() 메서드를 사용해 세 개의 문서를 삽입합니다.> db.summingSubDocumentDemo
MongoDB에서 배열에 저장된 여러 객체 중 조건에 맞는 특정 객체 하나만 추출하고 싶을 때가 있습니다. 이럴 때 유용하게 사용할 수 있는 것이 바로 위치 연산자($)입니다. 위치 연산자를 사용하면 쿼리 조건과 일치하는 배열 요소만 선택적으로 반환받을 수 있습니다.1. 테스트용 컬렉션 생성하기먼저 예제로 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다. 고객 정보와 함께 구매 내역이 배열 형태로 저장된 구조입니다.> db.getASpecificObjectDemo.insertOne( ... { ... _id :
MongoDB에서 배열(array) 안에 포함된 특정 요소를 일치시켜 조회하려면 $or 연산자와 limit(1) 메서드를 함께 사용할 수 있습니다. 이번 글에서는 실제 예제를 통해 배열 내 요소를 매칭하는 과정을 단계별로 살펴보겠습니다.1. 테스트용 컬렉션 생성 및 문서 삽입먼저 insertOne() 메서드를 사용해 컬렉션을 생성하고 학생 정보가 담긴 문서 두 개를 삽입합니다. 각 문서에는 국가명과 기술 스택을 담은 하위 문서 배열이 포함되어 있습니다.> db.matchElementInArrayDemo.insertOne( ..
MongoDB에서 ReferenceError 오류가 발생하는 이유 MongoDB 셸에서 db 객체 없이 createCollection()을 단독으로 호출하면 ReferenceError: createCollection is not defined와 같은 오류가 발생합니다. 그 이유는 이 메서드가 전역 함수가 아니라 데이터베이스 객체(db)에 속한 메서드이기 때문입니다. 올바른 컬렉션 생성 방법 컬렉션을 정상적으로 생성하려면 반드시 MongoDB 객체인 db를 통해 메서드를 호출해야 합니다. 기본 문법은 다음과 같습니다. db.crea
MongoDB에서 집계(aggregation)를 수행할 때 NULL 값은 제외하고 각 그룹의 첫 번째 레코드를 가져오고 싶은 경우가 있습니다. 이럴 때는 aggregate() 파이프라인 안에서 $match 연산자를 활용하면 됩니다. 핵심 아이디어는 간단합니다. 먼저 $match로 NULL이 아닌 문서만 필터링한 후, $group과 $first를 조합해 원하는 첫 번째 값을 추출하는 것입니다.1. 샘플 컬렉션 생성하기먼저 예제에 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다. 일부 문서의 StudentSubject 필드에는 의도적으