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

MongoDB

  1. MongoDB에서 특정 값 조건으로 두 날짜 사이의 데이터를 조회하고 그룹화해 합계와 개수 구하기

    MongoDB에서 문서를 조건에 맞게 필터링할 때는 $match 연산자를 사용하고, 두 날짜 사이의 데이터를 조회할 때는 $gte(크거나 같음)와 $lte(작거나 같음) 연산자를 활용합니다. 이번 글에서는 특정 값 조건과 날짜 범위를 함께 적용한 뒤, 그룹화하여 합계($sum)와 개수(count)를 구하는 방법을 예제와 함께 살펴보겠습니다.1. 샘플 컬렉션 생성먼저 demo560 컬렉션을 만들고 테스트용 문서를 삽입합니다.> db.demo560.insertOne({"value1":40,"value2&

  2. MongoDB에서 Math.random()으로 고유한 데이터를 무작위 생성하고 'John'으로 시작하는 EmailId 값 설정하기

    MongoDB에서 고유한(unique) 데이터를 무작위로 생성하려면 Math.random() 함수를 활용할 수 있습니다. 이 글에서는 컬렉션을 생성하고, 각 문서의 EmailId 필드에 John으로 시작하는 무작위 이메일 값을 일괄 업데이트하는 방법을 단계별로 살펴보겠습니다.1단계: 컬렉션 생성 및 문서 삽입먼저 demo561이라는 컬렉션을 만들고 EmailId 값이 null인 문서 세 개를 삽입합니다.> db.demo561.insertOne({EmailId:null});{ acknowledged : true, inser

  3. MongoDB에서 필드를 검색한 후 삭제하는 방법 ($exists와 $unset 활용)

    MongoDB에서 필드 검색 후 삭제하기MongoDB에서 특정 필드의 존재 여부를 검색하려면 $exists 연산자를 사용하고, 검색된 필드를 삭제하려면 $unset 연산자를 사용합니다. $unset은 문서에서 지정된 필드를 완전히 제거하는 역할을 합니다.1. 컬렉션 생성 및 문서 삽입먼저 예제에 사용할 컬렉션을 만들고 문서를 삽입하겠습니다.> db.demo562.insertOne({"Name":"Chris","Age":21});{   "acknow

  4. MongoDB 셸에서 find()로 특정 값을 가진 문서 항목 조회하기

    MongoDB에서 특정 값을 가진 항목을 조회하려면 find() 메서드를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 컬렉션 생성부터 조건에 맞는 문서 검색까지 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성먼저 테스트용으로 사용할 컬렉션에 문서를 삽입해 보겠습니다.> db.demo563.insertOne({Name:Chris,Age:21,isMarried:true}){ acknowledged : true, insertedId : ObjectId(5e8f546c54b4472ed3e8e878) } > db.demo

  5. MongoDB에서 배열의 특정 값을 문자열로 교체하는 방법 ($set과 위치 연산자 활용)

    MongoDB에서 배열의 단일 값을 문자열로 바꾸기MongoDB에서 배열 내부의 특정 값을 다른 문자열로 교체하려면 $set 연산자와 함께 위치 연산자($)를 사용하면 됩니다. 위치 연산자는 쿼리 조건과 일치하는 첫 번째 배열 요소를 자동으로 식별해 주므로, 인덱스를 직접 지정하지 않고도 원하는 값을 손쉽게 수정할 수 있습니다.먼저 예제에 사용할 컬렉션을 생성하고 문서를 삽입해 보겠습니다.> db.demo564.insertOne({StudentName:[Chris,David,Mike,Sam]});{  &nbs

  6. MongoDB에서 문서의 필드에 접근하는 방법 완벽 가이드

    MongoDB 문서 필드 접근하기MongoDB에서 문서(document) 내부의 필드에 접근하는 방법은 매우 간단합니다. 기본적으로 find() 메서드를 활용하면 되는데, 이번 글에서는 실제 예제를 통해 단계별로 살펴보겠습니다.먼저 샘플 문서들을 포함한 컬렉션을 생성해 보겠습니다.> db.demo565.insertOne( ... { ... id:101, ... Name:David, ... CountryName:US ... } ... ); { acknowledged : true, insertedId

  7. MongoDB에서 배열 항목을 그룹화하여 동일한 가격대별 제품 수 구하기

    MongoDB에서 배열 내부의 항목들을 특정 기준(예: 가격)으로 그룹화하고, 각 그룹에 속한 요소의 개수를 집계해야 하는 경우가 자주 있습니다. 이때 애그리게이션 파이프라인의 $unwind, $group, $sort 연산자를 조합하면 간단하게 해결할 수 있습니다.아래 예제를 통해 배열 안에 담긴 여러 제품 정보를 가격별로 그룹화하고, 같은 가격의 제품이 몇 개인지 계산하는 방법을 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 제품 정보 배열(ProductInformation)을 포함하는 문서로 컬렉션을 생성합니다. insertOne

  8. MongoDB find() 쿼리에서 특정 필드를 제외하는 방법

    MongoDB에서 find() 메서드로 문서를 조회할 때 특정 필드를 결과에서 제외하고 싶다면 프로젝션(projection)을 활용하면 됩니다. 제외할 필드의 값을 0으로 설정하기만 하면 해당 필드는 조회 결과에 포함되지 않습니다.기본 문법제외하고자 하는 필드들을 아래와 같이 0으로 지정합니다. 여기서는 yourFieldName1과 yourFieldName2 두 필드를 제외하는 예시입니다.db.yourCollectionName.find(yourQuery, {yourFieldName1:0, yourFieldName2:0});예제 컬렉

  9. MongoDB ISODate에서 연도, 월, 일 등 날짜 정보 추출하는 방법

    MongoDB ISODate란?몽고 셸(mongo shell)은 날짜를 문자열 또는 Date 객체 형태로 반환하는 다양한 메서드를 제공합니다. 그중 ISODate() 생성자는 ISODate() 래퍼를 사용해 Date 객체를 반환하며, MongoDB에서 날짜 데이터를 다룰 때 가장 널리 사용되는 방식입니다.샘플 데이터 생성먼저 문서 하나를 담은 컬렉션을 생성해 보겠습니다.> db.demo548.insertOne({dueDate:new ISODate(2020-04-09 12:12:40)}); { acknowledged :

  10. MongoDB에서 원하는 개수만큼 레코드 조회하기 - limit() 메서드 활용법

    MongoDB limit() 메서드로 레코드 개수 제한하기MongoDB에서 특정 개수의 레코드(문서)만 조회하고 싶다면 limit() 메서드를 사용하면 됩니다. 이 메서드는 숫자 타입의 인자를 하나 받으며, 해당 값은 화면에 표시할 문서의 개수를 의미합니다.1. 샘플 컬렉션 생성먼저 문서를 포함하는 컬렉션을 생성해 보겠습니다.> db.demo549.insertOne({Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e8e32889e5f92834d7f05df)

  11. MongoDB 배열 요소 일괄 업데이트: initializeOrderedBulkOp()로 대량 작업 수행하기

    MongoDB에서 배열 안의 여러 요소를 한 번에 업데이트해야 할 때는 initializeOrderedBulkOp() 메서드를 활용하는 것이 가장 효율적입니다. 이 메서드는 컬렉션을 위한 새로운 Bulk() 연산 빌더를 초기화한 뒤 반환하며, 이 빌더는 MongoDB가 한 번에 대량으로 실행할 수 있도록 정렬된 쓰기 작업 목록을 구성합니다.1. 예제 컬렉션 생성하기먼저 실습에 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.demo550.insertOne({"Name":"Chris"

  12. MongoDB에서 동일한 키에 여러 OR 조건을 적용하는 방법

    MongoDB $or 연산자로 동일한 키에 대한 다중 조건 처리하기MongoDB에서 하나의 필드(키)에 대해 여러 개의 OR 조건을 적용해야 하는 경우가 있습니다. 이때 $or 연산자를 한 번만 사용하면 간단하게 해결할 수 있습니다. $or 배열 안에 동일한 키를 가진 여러 조건 객체를 나열하면 됩니다.실제 예제를 통해 살펴보겠습니다. 먼저 문서들을 포함하는 컬렉션을 생성합니다.> db.demo551.insertOne({Name:John});{ acknowledged : true, insertedId : ObjectId(

  13. MongoDB에서 평균보다 높은 값을 가진 문서를 선택하는 방법

    MongoDB에서 평균값보다 큰 값을 가진 문서를 선택하려면 aggregate() 메서드를 사용하고, 평균을 계산할 때는 $avg 연산자를 활용하면 됩니다.1. 컬렉션 생성 및 문서 삽입먼저 데모용 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.demo552.insertOne({values:10});{    acknowledged : true, insertedId : ObjectId(5e8e3b1c9e5f92834d7f05ea) } > db.demo552.insertOne({values:50});{

  14. MongoDB에서 배열 내부 객체를 업데이트하는 방법: findOneAndUpdate() 구문 활용법

    MongoDB에서 문서(document) 내부에 포함된 배열 안의 특정 객체를 업데이트하려면 findOneAndUpdate() 메서드를 사용하면 됩니다. 이 메서드는 필터 조건과 정렬 기준에 따라 단일 문서를 찾아 업데이트하는 기능을 제공합니다.1. 테스트용 컬렉션 생성먼저 예제로 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.demo553.insertOne( ... { ... id:101, ... Name:John, ... midExamDetails: ... [ ... {Subjec

  15. MongoDB에서 특정 문자로 시작하는 이름·이메일 필드를 'like' 방식으로 쿼리하는 방법

    MongoDB에서 SQL의 LIKE 연산자와 유사한 부분 일치 검색을 구현하려면 정규 표현식(Regular Expression)을 사용해야 합니다. 슬래시(/) 사이에 찾고자 하는 특정 문자를 넣으면 됩니다. 예를 들어 다음과 같습니다. /J/ 특정 문자로 시작하는 값을 찾으려면 앵커(^)를 함께 사용하여 /^J/ 형태로 작성하면 더욱 정확한 결과를 얻을 수 있습니다. 샘플 데이터 생성 먼저 예제로 사용할 컬렉션과 문서를 생성해 보겠습니다. > db.demo554.insertOne({UserName:John,UserMailI

  16. MongoDB 집계 프레임워크에서 특정 필드 값과 일치하는 문서 조회하기($match 활용)

    MongoDB 집계 프레임워크에서 특정 필드 값 일치시키기MongoDB의 집계 프레임워크(aggregation framework)에서 특정 필드 값과 일치하는 문서를 조회하려면 $match 스테이지를 사용합니다. 이번 글에서는 예제 컬렉션을 만들고, $match와 $group을 조합하여 원하는 조건의 문서를 필터링하고 개수까지 집계하는 과정을 단계별로 살펴보겠습니다.1. 컬렉션 생성 및 문서 삽입먼저 demo555라는 컬렉션을 생성하고, CountryName 필드를 가진 여러 문서를 삽입합니다.> db.demo555.inser

  17. MongoDB에서 하위 문서 배열에서 특정 ID(234로 시작)의 레코드 조회하기

    MongoDB에서 하위 문서(subdocument) 배열 안에서 원하는 레코드만 추출하려면 $unwind 연산자와 $push 연산자를 함께 사용하는 것이 효과적입니다. 또한 234로 시작하는 ID를 필터링할 때는 정규식(regex)을 활용하면 간편하게 처리할 수 있습니다.샘플 컬렉션 생성하기먼저 문서를 포함한 컬렉션을 생성해 보겠습니다.> db.demo556.insertOne( ... { ... _id:101, ... details:[ ... { ... id:234336, ...

  18. MongoDB에서 특정 필드 값만 업데이트하는 방법 – $set 연산자 활용 가이드

    MongoDB에서 전체 문서를 교체하지 않고 원하는 필드의 값만 변경하고 싶을 때는 $set 연산자를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 컬렉션 생성부터 특정 필드 업데이트, 결과 확인까지 단계별로 살펴보겠습니다.1. 예제용 컬렉션 생성하기먼저 insertOne() 메서드를 사용해 테스트용 컬렉션에 문서를 삽입합니다.> db.demo557.insertOne({Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e8f28e954b4472ed3e8e86

  19. MongoDB에서 Capped(캡) 컬렉션을 사용할 수 있나요?

    MongoDB Capped 컬렉션이란?네, MongoDB에서 capped(캡) 컬렉션을 사용할 수 있습니다. Capped 컬렉션은 고정된 크기를 가진 컬렉션으로, 삽입 순서를 기준으로 문서를 삽입하고 조회하는 높은 처리량의 작업을 지원하도록 설계되었습니다.Capped 컬렉션의 가장 큰 특징은 지정된 크기(size)나 최대 문서 수(max)를 초과하면 가장 오래된 문서가 자동으로 삭제된다는 점입니다. 이러한 특성 덕분에 로그 데이터 저장이나 최신 정보만 유지하면 되는 용도로 활용하기에 매우 적합합니다.Capped 컬렉션 생성하기이제

  20. MongoDB에서 필드별로 그룹화된 문서 선택하는 방법 ($group & $project 활용)

    MongoDB에서 특정 필드를 기준으로 문서를 그룹화하여 선택하려면 집계(aggregation) 파이프라인의 $group 연산자와 $project 연산자를 함께 사용하면 됩니다. 이 글에서는 예제 컬렉션을 만들고, 실제 쿼리 작성부터 결과 확인까지 단계별로 살펴보겠습니다.1단계: 샘플 컬렉션 생성먼저 insertOne() 메서드로 컬렉션을 생성하고 문서를 삽입합니다.> db.demo540.insertOne({id:1,Name:Chris,CountryName:US});{   acknowledged :

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