Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB

  1. MongoDB findOne()에서 정규식($regex) 활용 방법

    MongoDB findOne()에서 정규식 사용하기MongoDB의 findOne() 메서드는 컬렉션에서 지정된 쿼리 조건을 만족하는 단 하나의 문서를 반환합니다. 조건에 일치하는 문서가 여러 개라도 가장 먼저 발견된 문서 하나만 돌려준다는 점이 find()와의 큰 차이입니다.이번 글에서는 findOne() 안에서 정규식($regex)을 사용해 문자열 패턴으로 문서를 검색하는 방법을 알아보겠습니다.1. 테스트용 컬렉션 생성먼저 예제로 사용할 컬렉션에 문서를 삽입합니다.> db.demo655.insertOne({subject:My

  2. MongoDB 데이터베이스 삭제 방법: dropDatabase 명령어 사용법

    MongoDB 데이터베이스를 지우는 방법MongoDB에서 데이터베이스를 완전히 삭제하려면 dropDatabase() 메서드를 사용하면 됩니다. 이 명령어는 현재 선택된 데이터베이스와 그 안의 모든 컬렉션 및 데이터를 영구적으로 제거합니다.기본 문법데이터베이스를 삭제하는 기본적인 문법은 다음과 같습니다.use yourDatabaseName; db.dropDatabase();1단계: 전체 데이터베이스 목록 확인먼저 show dbs 명령어로 현재 존재하는 모든 데이터베이스 목록을 확인합니다.> show dbs위 명령어를 실행하면 다

  3. MongoDB에서 $push와 $slice를 함께 사용하는 방법

    MongoDB에서 여러 번 푸시(Push) 및 슬라이스(Slice) 처리하기MongoDB에서 배열에 요소를 추가하면서 배열 크기를 제한하고 싶다면 $push 연산자와 $slice 연산자를 함께 사용하면 됩니다. $push는 배열에 새로운 값을 추가하고, $slice는 지정한 개수만큼만 배열을 유지하여 오래된 요소를 자동으로 잘라냅니다.먼저 예제로 사용할 컬렉션을 생성하고 문서를 삽입해 보겠습니다.> db.demo656.insertOne({Name:John});{    acknowledged

  4. MongoDB 컬렉션에서 날짜별로 그룹화하는 방법

    MongoDB에서 날짜를 기준으로 데이터를 그룹화하려면 집계 파이프라인(aggregate)의 $group 연산자를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 날짜별 그룹화 과정을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 문서(document)가 포함된 컬렉션을 생성합니다. insertOne() 메서드를 사용해 세 개의 문서를 삽입해 보겠습니다.> db.demo657.insertOne({    id: 1,    Name: Chris,&nbs

  5. MongoDB 컬렉션에 고유 인덱스(Unique Index) 필드 추가하기

    MongoDB에서 중복 데이터 입력을 방지하고 싶다면 고유 인덱스(Unique Index)를 활용할 수 있습니다. 인덱스를 생성할 때 unique: true 옵션을 설정하면 해당 필드에 동일한 값이 두 번 저장되지 않도록 강제할 수 있습니다.고유 인덱스 생성 방법먼저 컬렉션을 생성하면서 FirstName 필드에 고유 인덱스를 만들어 보겠습니다. 이때 sparse: true 옵션을 함께 사용하면 해당 필드가 없는 문서는 인덱스 대상에서 제외됩니다.> db.demo658.createIndex({FirstName:1},{unique

  6. MongoDB에서 그룹별 최대값 항목 선택하기: $group과 $max 활용법

    MongoDB에서 각 그룹의 최대값을 가진 항목을 조회하려면 집계 파이프라인의 $group 연산자와 $max 연산자를 함께 사용하면 됩니다. 이 글에서는 실제 예제를 통해 국가(CountryName)별로 최고 점수(Marks)를 구하는 방법을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 예제에 사용할 문서(document)들을 담은 컬렉션을 생성합니다. insertOne() 메서드를 사용해 학생 이름, 국가, 점수 데이터를 순차적으로 삽입합니다.> db.demo659.insertOne({Name:Chris,Countr

  7. MongoDB 대규모 컬렉션에서 느린 검색? 인덱스 생성으로 해결하는 방법

    인덱스 생성으로 검색 성능 개선하기MongoDB에서 대규모 컬렉션을 다루다 보면 검색 속도가 현저히 느려지는 문제가 발생합니다. 이러한 상황에서 가장 효과적인 해결책은 바로 인덱스(index)를 생성하는 것입니다. 인덱스는 쿼리 실행 시 전체 컬렉션을 스캔하지 않고 필요한 데이터에 빠르게 접근할 수 있도록 도와줍니다.인덱스 생성에는 createIndex() 메서드를 사용합니다. 아래 예제를 통해 실제 적용 과정을 살펴보겠습니다.1단계: 인덱스 생성 및 데이터 삽입먼저 ListOfName 필드에 오름차순(1) 인덱스를 생성한 후, 샘

  8. MongoDB에서 하위 문서 필터링하는 방법 – $unwind와 $match 활용하기

    MongoDB에서 배열 형태로 저장된 하위 문서(sub-document)를 필터링하려면 집계 파이프라인(aggregate)을 사용하고, 그 안에서 $unwind 연산자를 활용하면 됩니다. $unwind는 배열의 각 요소를 개별 문서로 분리해 주기 때문에, 이후 $match 단계에서 원하는 조건으로 손쉽게 필터링할 수 있습니다.1. 샘플 컬렉션 생성하기먼저 예제에 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.demo662.insertOne( ... { ... details:[ ... { ...

  9. MongoDB 부동 소수점 변환 시 항상 0이 반환되는 이유와 해결 방법

    MongoDB에서 문자열을 부동 소수점으로 변환하는 방법MongoDB에서 문자열로 저장된 숫자 값을 부동 소수점(float) 타입으로 변환할 때 parseFloat() 함수를 사용하면 됩니다. 변환이 제대로 이루어지지 않고 항상 0이 반환된다면, 대부분 스크립트 작성 방식에 문제가 있는 경우입니다. 아래 예제를 통해 올바른 변환 방법을 살펴보겠습니다.1. 테스트용 컬렉션 생성먼저 문서를 포함하는 컬렉션을 생성합니다. 이 예제에서는 값이 문자열 형태로 저장되어 있습니다.> db.demo523.insertOne({"det

  10. MongoDB에서 두 날짜 사이의 데이터를 검색하는 방법 – $gte, $lt 연산자 활용 가이드

    MongoDB에서 두 날짜 사이의 데이터를 검색하는 방법MongoDB에서 특정 기간(두 날짜 사이)에 해당하는 문서를 조회하려면 비교 연산자인 $gte와 $lt를 함께 사용하면 됩니다.$gte는 크거나 같음 조건, $lt는 미만 조건을 의미합니다. 아래 예제를 통해 실제 사용 방법을 단계별로 알아보겠습니다.1단계: 샘플 컬렉션 생성하기먼저 날짜 필드(EndDate)를 포함한 문서들로 이루어진 컬렉션을 생성합니다.> db.demo524.insertOne({"EndDate":new ISODate("202

  11. MongoDB에서 객체 배열 내 여러 일치 항목을 찾는 쿼리 작성 방법

    MongoDB에서 객체 배열 안에 포함된 여러 조건에 일치하는 문서를 찾으려면 $and 연산자와 $regex 연산자를 함께 사용하면 됩니다. $and는 하나 이상의 표현식 배열에 대해 논리 AND 연산을 수행하며, 배열 내 모든 조건을 만족하는 문서만 선택합니다. 또한 배열 요소를 조건별로 검사할 때는 $elemMatch를 활용합니다.샘플 컬렉션 생성하기먼저 문서가 담긴 컬렉션을 생성해 보겠습니다.> db.demo525.insertOne({details:[{Name:Chris,CountryName:US}]});{ ack

  12. MongoDB에서 $push 연산자로 배열 업데이트하기

    MongoDB에서 $push 연산자를 사용해 배열을 업데이트하려면 updateOne() 메서드를 활용하면 됩니다. 이 글에서는 컬렉션을 생성하고, 조건에 맞는 문서의 배열 요소에 새 데이터를 추가하는 과정을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성먼저 insertOne() 메서드를 사용해 데모용 컬렉션에 문서를 생성합니다.> db.demo526.insertOne( ... { ... CountryName: US, ... TeacherName: Bob, ... StudentInformation: [ ..

  13. MongoDB에서 $group으로 그룹화하고 문서의 가격 합계 구하기

    MongoDB에서 그룹 연산을 수행하고 문서의 가격(price) 값을 합산하려면 $group 연산자를 사용하며, 그 내부에서 실제 덧셈 처리는 $sum 연산자를 통해 이루어집니다.이 글에서는 실제 예제를 통해 컬렉션 생성부터 가격 합계까지 전 과정을 단계별로 살펴보겠습니다.1. 샘플 데이터 준비하기먼저 insertOne() 메서드를 사용하여 컬렉션에 여러 개의 문서를 삽입합니다. 각 문서에는 서로 다른 가격 값이 포함되어 있습니다.> db.demo527.insertOne({Price:45.5});{ acknowledged

  14. MongoDB에서 id로 컬렉션 항목 일치시키는 방법 ($in 연산자 활용)

    MongoDB에서 id(ObjectId)로 컬렉션 항목을 일치시키려면 $in 연산자를 사용하면 됩니다. 여러 개의 ObjectId 값을 배열로 전달하면 해당 id에 속한 문서들만 한 번에 조회할 수 있습니다.1. 샘플 컬렉션 생성 및 문서 삽입먼저 insertOne() 메서드를 사용해 데모용 컬렉션에 문서를 생성해 보겠습니다.> db.demo528.insertOne({Name:Chris,Age:21});{ acknowledged : true, insertedId : ObjectId(5e8b00d2ef4dcbee0

  15. MongoDB에서 _id별로 그룹화하는 쿼리 작성 방법

    MongoDB에서 _id별로 그룹화하기MongoDB에서 문서를 _id 기준으로 그룹화하려면 애그리게이션 파이프라인의 $group 연산자를 사용합니다. $group은 지정한 키를 기준으로 문서들을 묶어주며, $sum 같은 누적 연산자와 함께 사용하면 그룹별 통계를 손쉽게 계산할 수 있습니다.먼저 예제에 사용할 컬렉션을 생성하고 문서를 삽입해 보겠습니다.1. 컬렉션 생성 및 데이터 삽입insertOne() 메서드를 사용해 demo529 컬렉션에 여러 개의 문서를 추가합니다.> db.demo529.insertOne({Score:10

  16. MongoDB에서 null 값이 포함된 경우 ORDER BY 정렬을 사용하는 방법

    MongoDB에서 컬렉션에 null 값이 포함되어 있어도 sort() 메서드를 사용하면 손쉽게 정렬(ORDER BY)을 구현할 수 있습니다.참고: MongoDB v3.2부터 mongo 셸에서 $orderby 연산자는 더 이상 지원되지 않습니다(deprecated). 따라서 대신 cursor.sort() 또는 애그리게이션의 $sort 단계를 사용하는 것이 좋습니다.1. 샘플 컬렉션 생성하기먼저 문서들이 담긴 컬렉션을 생성해 보겠습니다. 여기에는 일반 문자열 값과 함께 null 값도 포함되어 있습니다.> db.demo530.ins

  17. 정규식 사용 시 MongoDB 성능 문제를 방지하는 방법

    정규식 사용 시 MongoDB 성능 문제를 방지하는 방법MongoDB에서 $regex 연산자로 문자열을 검색할 때 적절한 인덱스가 없으면 전체 컬렉션 스캔(collection scan)이 발생하여 성능이 크게 저하될 수 있습니다. 이러한 성능 문제를 방지하려면 인덱스(index) 개념을 올바르게 활용해야 합니다.아래 예제에서는 텍스트 인덱스를 생성하고, 대소문자를 구분하지 않는 정규식 검색을 수행하는 전체 과정을 단계별로 살펴보겠습니다.1단계: 인덱스 생성 및 문서 삽입먼저 createIndex() 메서드를 사용해 CountryNa

  18. MongoDB 집계 파이프라인에서 $sort 연산자로 문서를 오름차순 정렬하는 방법

    MongoDB의 집계(aggregation) 기능에서 문서를 오름차순으로 정렬하려면 $sort 스테이지를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 컬렉션을 생성하고, 집계 파이프라인을 구성하여 데이터를 오름차순으로 정렬하는 과정을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 insertOne() 메서드를 사용해 demo652라는 이름의 컬렉션에 문서 두 개를 삽입합니다. 각 문서는 value 필드와 상품 정보가 담긴 details 배열 필드로 구성되어 있습니다.> db.demo652.insertOne({&nbs

  19. MongoDB에서 중복된 필드 값을 기준으로 점수 합산하는 방법 ($group 활용)

    여러 문서에 흩어져 있는 수치를 하나로 합산해야 할 때가 있습니다. 예를 들어 동일한 사용자의 여러 시험 점수를 한 번에 집계하는 경우입니다. 이럴 때 MongoDB 애그리게이션 파이프라인의 $group 연산자를 활용하면 손쉽게 해결할 수 있습니다. 이 글에서는 실제 예제를 통해 단계별로 살펴보겠습니다. 1. 샘플 컬렉션 생성 및 문서 삽입 먼저 실습에 사용할 컬렉션을 만들고 문서를 삽입합니다. 아래 예제에서는 이름(Name), 두 개의 점수(Score1, Score2), 국가(CountryName) 필드를 가진 문서를 사용합니다.

  20. MongoDB에서 $regex를 활용해 입력값과 유사한 이름 검색하는 방법

    MongoDB 정규식($regex)으로 유사한 이름 찾기MongoDB에서는 $regex 연산자를 사용하면 입력된 이름과 유사한 문서를 손쉽게 검색할 수 있습니다. 특히 $options: i 옵션을 함께 사용하면 대소문자를 구분하지 않고 조회할 수 있어 실무에서 매우 유용합니다.이번 글에서는 컬렉션을 생성하고, $regex를 이용해 입력값과 비슷한 이름을 찾는 과정을 단계별로 살펴보겠습니다.1. 샘플 데이터가 담긴 컬렉션 생성하기먼저 insertOne() 메서드를 사용해 demo514 컬렉션에 여러 개의 문서를 삽입합니다.> d

Total 1351 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:11/68  20-컴퓨터/Page Goto:1 5 6 7 8 9 10 11 12 13 14 15 16 17