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

MongoDB

  1. MongoDB 집계 파이프라인으로 조건에 맞는 레코드 조회하기

    MongoDB의 집계 파이프라인(aggregation pipeline)은 여러 개의 단계(stage)로 구성됩니다. 문서가 파이프라인을 통과하는 동안 각 단계를 거치며 순차적으로 변환되기 때문에, 데이터를 유연하게 가공하고 필터링할 수 있습니다.이 글에서는 집계 파이프라인을 활용해 MongoDB에서 조건에 맞는 레코드를 가져오는 방법을 예제와 함께 살펴보겠습니다. 1. 샘플 컬렉션 생성 먼저 예제에서 사용할 문서들을 포함하는 컬렉션을 생성합니다. > db.demo218.insertOne({"Name":&quo

  2. MongoDB URL 레코드에서 특정 도메인 이름 검색하기 (/i 옵션 활용법)

    MongoDB에서 URL 레코드에 저장된 특정 도메인 이름을 대소문자 구분 없이 검색하려면 정규식 옵션 /i를 사용하면 됩니다. 이 옵션은 영문 대소문자를 구분하지 않고 일치 여부를 판단해 주기 때문에, EXAMPLE.com과 example.com처럼 표기가 서로 다른 URL도 단 한 번의 쿼리로 모두 찾아낼 수 있습니다.1. 샘플 데이터 준비하기먼저 데모용 컬렉션을 생성하고 문서를 삽입해 보겠습니다.> db.demo219.insertOne({details:{WebsiteURL:www.EXAMPLE.com}}); { ac

  3. MongoDB에서 $project로 내장 문서의 isMarried 상태 조회하기

    MongoDB에서 내장 문서의 isMarried 값 추출하기MongoDB 컬렉션에 저장된 문서 안에는 다른 문서가 중첩된 형태의 내장(embedded) 문서가 포함될 수 있습니다. 이렇게 중첩된 문서에서 특정 필드만 골라서 조회하고 싶다면 집계(aggregate) 파이프라인의 $project 연산자를 활용하면 됩니다.이번 글에서는 내장 문서에 포함된 isMarried 값을 모두 가져오는 방법을 예제와 함께 살펴보겠습니다.1. 예제 컬렉션 생성 및 문서 삽입먼저 테스트용 컬렉션을 만들고 문서 두 개를 삽입하겠습니다. 각 문서는 det

  4. MongoDB 정규식으로 'john'이 아닌 정확히 'John'인 레코드 조회하기

    MongoDB에서 특정 단어를 검색할 때는 정규식(regex)을 활용하면 됩니다. 정규식은 기본적으로 대소문자를 구분하기 때문에, /John/ 패턴은 John과 일치하지만 소문자로 된 john과는 일치하지 않습니다.예제 컬렉션 생성먼저 문서가 포함된 컬렉션을 생성해 보겠습니다.> db.demo221.insertOne({Details:{StudentName:Chris,StudentAge:21}}); { acknowledged : true, insertedId : ObjectId(5e3ee15d03d395bdc21347

  5. MongoDB 문서 배열에 새 요소 추가하기 – 위치 연산자($)와 update() 활용법

    MongoDB 문서의 배열 안에 새로운 요소(필드)를 추가하려면 위치 연산자($)를 update() 메서드와 함께 사용하면 됩니다. 위치 연산자는 쿼리 조건과 일치하는 배열 요소를 자동으로 식별해 주기 때문에, 인덱스 번호를 직접 지정하지 않고도 해당 요소만 정확하게 수정할 수 있습니다.아래 예제를 통해 실제 동작 과정을 단계별로 살펴보겠습니다.1단계: 컬렉션 생성 및 문서 삽입먼저 insertOne() 메서드를 사용해 샘플 컬렉션을 만들고 문서를 삽입합니다.> db.demo222.insertOne({details:[{Stud

  6. MongoDB에서 여러 속성을 비교하는 방법 완벽 가이드

    MongoDB에서 여러 속성을 비교하는 방법MongoDB에서 여러 속성(필드)을 서로 비교해야 하는 경우가 종종 있습니다. 예를 들어 배열 내의 두 요소 값을 비교하거나, 문서 내 서로 다른 필드 간의 크기를 비교하고 싶을 때가 그렇습니다. 이럴 때 $where 연산자를 사용하면 JavaScript 표현식을 활용해 원하는 조건의 문서를 조회할 수 있습니다.이번 글에서는 $where 연산자를 사용하여 MongoDB에서 여러 속성을 비교하는 방법을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성 및 문서 삽입먼저 데모용 컬렉션을 만들고

  7. MongoDB 배열에서 항목 제거하는 방법 – $pull 연산자 완벽 가이드

    MongoDB에서 배열에 저장된 특정 항목을 삭제하려면 $pull 연산자를 사용하면 됩니다. $pull은 지정한 조건과 일치하는 값을 배열에서 모두 제거해 주는 강력한 업데이트 연산자입니다.1. 테스트용 컬렉션 생성하기먼저 예제로 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.demo224.insertOne({ListOfTechnology:[Spring,Hibernate,Java]}); { acknowledged : true, insertedId : ObjectId(5e3ee6d103d395bdc21347

  8. MongoDB $slice 연산자로 배열의 마지막 두 값 가져오기

    MongoDB에서 배열 필드의 마지막 두 값을 가져오려면 $slice 연산자를 사용하면 됩니다. $slice에 음수 값을 지정하면 배열 끝에서부터 해당 개수만큼의 요소를 반환합니다.샘플 컬렉션 생성하기먼저 문서가 포함된 컬렉션을 생성해 보겠습니다.> db.demo173.insertOne({ListOfValues:[10,40,100,560,700,900]}); { acknowledged : true, insertedId : ObjectId(5e383a4f9e4f06af551997e4) }컬렉션 문서 조회하기find()

  9. MongoDB 집계(Aggregation)로 배열 안의 배열 슬라이스하기

    MongoDB에서 중첩된 구조, 즉 배열 내부에 또 다른 배열이 있는 경우 특정 개수만큼 요소를 잘라내고 싶을 때가 있습니다. 이럴 때는 aggregate() 메서드와 함께 $slice 연산자를 사용하면 됩니다.이 글에서는 실제 예제를 통해 배열 안의 배열을 슬라이스하는 방법을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성먼저 문서가 포함된 컬렉션을 생성해 보겠습니다. 아래 예제에서는 Details 배열 안에 각 항목마다 다시 Subjects 배열이 들어 있는 중첩 구조를 사용합니다.> db.demo111.insertOne(

  10. MongoDB Capped(고정 크기) 컬렉션에서 단일 필드를 업데이트하는 방법

    MongoDB에서 capped: true 옵션으로 생성한 Capped 컬렉션의 특정 필드를 수정하려면 update() 메서드를 사용하면 됩니다. 이번 글에서는 예제를 통해 Capped 컬렉션을 만들고, 단일 필드를 업데이트하는 전체 과정을 단계별로 살펴보겠습니다. 1. Capped 컬렉션 생성 및 데이터 삽입 먼저 capped: true, size, max 옵션을 지정하여 Capped 컬렉션을 생성하고 문서를 삽입합니다. > db.createCollection(Demo112, { capped : true, size : 14,

  11. MongoDB에서 뷰(View) 생성하기 – createView() 메서드 완벽 가이드

    MongoDB에서 뷰(View)를 생성하려면 createView() 메서드를 사용합니다. 뷰는 실제 데이터를 저장하지 않고 기존 컬렉션을 기반으로 집계 파이프라인의 결과를 보여주는 가상 컬렉션입니다. 이 글에서는 예제를 통해 뷰를 생성하고 조회하는 전체 과정을 단계별로 살펴보겠습니다. 1. 샘플 컬렉션 생성 및 문서 삽입 먼저 문서를 포함하는 컬렉션을 생성합니다. 아래 예제에서는 demo113이라는 컬렉션에 학생 정보를 담은 문서 하나를 삽입합니다. > db.demo113.insertOne( ... { _id: 1, Stud

  12. MongoDB에서 중복된 이름 값별 최대 점수 구하는 방법

    MongoDB에서 중복된 이름 값별 최대 점수 구하기최대 점수를 구하려면 group() 메서드를 사용해 컬렉션 내 문서들을 그룹화하면 됩니다. 먼저 예제에 사용할 컬렉션을 생성해 보겠습니다.> db.demo114.insertOne({"Score":60,"Name":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e2efc57d8f64a552dae6354") }

  13. MongoDB에서 필드를 업데이트하고 기존 데이터를 수정하는 쿼리 방법

    MongoDB 필드 업데이트와 기존 데이터 수정MongoDB에서 특정 필드를 업데이트하고 해당 열(필드)에 현재 저장되어 있는 데이터를 수정하려면 find() 메서드와 update() 메서드를 함께 사용하면 됩니다. 이 방법은 기존 값을 참조하여 새로운 값으로 변환할 때 특히 유용합니다.먼저 문서가 포함된 컬렉션을 생성해 보겠습니다.> db.demo115.insertOne({LastName:Brown});{   acknowledged : true,   insertedId : ObjectId(

  14. MongoDB에서 조건에 맞는 단일 문서만 조회하는 방법

    MongoDB에서 조건에 일치하는 문서 중 단 하나의 문서만 가져오고 싶다면 findOne() 메서드를 사용하면 됩니다. 이 메서드는 조건에 맞는 여러 문서가 존재하더라도 가장 먼저 발견된 첫 번째 문서만 반환합니다.테스트용 컬렉션 생성하기먼저 예제에 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.demo116.insertOne({EmployeeId:101,EmployeeName:John}); { acknowledged : true, insertedId : ObjectId(5e2eff98d8f64a552d

  15. MongoDB에서 모든 문서의 딕셔너리 목록 값 합계를 집계하는 방법

    MongoDB에서 배열(딕셔너리 목록) 안에 있는 값들의 합계를 구하려면 aggregate() 메서드와 함께 $sum 연산자를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 모든 문서에 대해 딕셔너리 목록의 값을 집계하는 과정을 단계별로 살펴보겠습니다.1. 컬렉션 생성 및 문서 삽입먼저 예제로 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.demo117.insertOne( ... { ... ID:101, ... Details:[ ... { ...

  16. MongoDB에서 $addFields 파이프라인과 $filter 연산자를 활용하는 방법

    MongoDB에서 $addFields 애그리게이션 단계와 $filter 연산자를 함께 사용하면 배열 필드의 요소들을 조건에 따라 걸러낸 새로운 필드를 만들 수 있습니다. 이 글에서는 실제 예제를 통해 두 기능을 조합하여 사용하는 방법을 단계별로 살펴보겠습니다.1. 컬렉션 생성 및 문서 삽입하기먼저 예제로 사용할 컬렉션을 생성하고 문서를 삽입합니다. 아래 명령어는 학생 정보와 과목 목록, 그리고 세부 정보(Details) 배열을 포함한 문서를 저장합니다.> db.demo118.insertOne( ... { ...

  17. MongoDB에서 $project로 여러 배열을 하나의 배열로 집계하는 방법

    MongoDB에서 여러 배열을 하나의 배열로 합치기여러 개의 배열을 하나의 배열로 통합하려면 MongoDB의 $project 연산자를 활용하면 됩니다. 먼저 문서를 포함하는 컬렉션을 생성해 보겠습니다.> db.demo119.insertOne(...    {...       _id: 101,...       WebDetails: [...   &

  18. MongoDB에서 부울(Boolean) 필드를 삽입하는 방법

    부울(Boolean) 값은 true와 false 두 가지 값만 가지므로, MongoDB에서는 이 키워드들을 그대로 사용하여 필드에 삽입할 수 있습니다.1. 컬렉션 생성 및 문서 삽입insertOne() 메서드를 사용하여 부울 필드가 포함된 문서를 컬렉션에 삽입해 보겠습니다.> db.demo215.insertOne({EmployeeDetails:[{EmployeeName:David,isMarried:false,Salary:56000}]}); { acknowledged : true, insertedId : ObjectI

  19. 배열의 개수 값을 활용한 MongoDB 집계에서 중첩 필드 그룹화 방법

    MongoDB에서 중첩된 필드 구조를 가진 문서를 다룰 때, 배열에 담긴 개수(Number) 값을 기준으로 데이터를 그룹화해야 하는 경우가 있습니다. 이 글에서는 $objectToArray, $unwind, $group 연산자를 조합하여 중첩 필드를 그룹화하는 방법을 단계별로 살펴보겠습니다. 1. 컬렉션 생성하기 먼저 중첩된 구조를 가진 문서들을 포함하는 컬렉션을 생성하겠습니다. > db.demo99.insertOne( ... { ... Details: ... { ...

  20. MongoDB에서 $nor 연산자로 특정 문서를 제외하고 조회하는 방법

    MongoDB에서 특정 문서 하나만 제외한 나머지 문서들을 조회하려면 $nor 연산자를 활용하면 됩니다. $nor는 지정한 조건 중 어느 하나라도 일치하는 문서를 모두 배제하고, 그 외의 문서만 반환하는 논리 연산자입니다.1. 테스트용 컬렉션 생성하기먼저 예제에 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.demo100.insertOne({Name:Chris,Age:21}); { acknowledged : true, insertedId : ObjectId(5e2d9624b8903cdd865577c0) }

Total 1351 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:35/68  20-컴퓨터/Page Goto:1 29 30 31 32 33 34 35 36 37 38 39 40 41