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

MongoDB

  1. 데이터를 삭제하지 않고 MongoDB에서 단일 문서만 업데이트하는 방법

    MongoDB에서 여러 개의 일치하는 문서 중 단 하나의 문서만 수정하고 싶다면 updateOne() 메서드를 사용해야 합니다. updateOne()은 지정한 필터(filter) 조건에 일치하는 첫 번째 문서만 골라 업데이트하며, 나머지 문서나 기존 데이터에는 전혀 영향을 주지 않습니다.1. 샘플 컬렉션 생성하기먼저 실습에 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.demo495.insertOne({FirstName:Chris,Age:19}); { acknowledged : true, insertedId : Ob

  2. MongoDB에서 forEach()로 문서 레코드를 정확하게 표시하는 방법

    MongoDB에서 forEach()로 문서 레코드 정확하게 표시하기MongoDB 컬렉션에 저장된 문서를 정확하게 표시하려면 forEach() 메서드를 사용하고, 값을 보기 좋게 출력하려면 printjson()을 함께 활용하면 됩니다. 먼저 예제에 사용할 문서들이 담긴 컬렉션을 생성해 보겠습니다.> db.demo496.insertOne({"Name":"David","CountryName":"US"});{   "acknowl

  3. MongoDB에서 문서에 요소가 존재하는지 확인하는 방법 ($exists 활용)

    MongoDB에서 문서에 요소가 존재하는지 확인하는 방법MongoDB 문서에 특정 요소(필드)가 존재하는지 확인하려면 $exists 연산자를 사용합니다. 이 연산자는 지정한 필드가 문서 안에 실제로 존재하는지 여부를 판단하여, 조건에 맞는 문서만 손쉽게 조회할 수 있도록 도와줍니다.먼저 예제에 사용할 컬렉션을 생성하고 문서를 삽입해 보겠습니다.> db.demo497.insertOne({details:[{Name:Chris},{Name:Bob}]}); { acknowledged : true, insertedId : O

  4. MongoDB에서 날짜 형식 변경하는 방법

    MongoDB에서 날짜 형식 변경하기다음과 같은 날짜가 있다고 가정해 보겠습니다.01-10-2019이 날짜의 형식을 변경하려면 사용자 지정 변수를 활용해 날짜를 문자열로 변환한 뒤, 원하는 형식으로 다시 조합하면 됩니다. MongoDB 셸은 자바스크립트 문법을 그대로 지원하기 때문에 split() 메서드를 이용해 아주 간단하게 처리할 수 있습니다.날짜를 문자열로 변환하는 쿼리다음은 날짜를 문자열로 변환하고 형식을 바꾸는 쿼리입니다.> var inputDate="01-10-2019";> var format

  5. MongoDB에서 배열로 그룹별 결과 조회하기 – $addToSet 연산자 활용법

    배열 형태로 그룹화된(group by) 결과를 조회하려면 MongoDB의 aggregate() 메서드를 사용하면 됩니다. 이때 $addToSet 연산자를 함께 활용합니다. $addToSet은 배열에 값을 추가하는 연산자로, 이미 동일한 값이 존재하는 경우에는 아무 작업도 수행하지 않기 때문에 중복 없이 고유한 값만 배열에 담을 수 있습니다.1. 샘플 컬렉션 생성하기먼저 insertOne() 메서드를 사용해 문서가 담긴 컬렉션을 생성합니다.> db.demo498.insertOne({id:1,Name:["Chris&quo

  6. MongoDB에서 $unwind로 하위 문서 배열 쿼리하는 방법

    MongoDB에서 하위 문서(subdocument) 배열을 쿼리하려면 집계 파이프라인의 $unwind 연산자를 활용하면 됩니다. $unwind는 배열 필드를 각 요소별로 분해하여 개별 문서처럼 처리할 수 있게 해주며, 이후 $match와 $project 단계를 조합해 원하는 데이터만 정확히 추출할 수 있습니다.1. 샘플 컬렉션 생성하기먼저 대학 정보를 담은 하위 문서 배열을 포함하는 컬렉션을 생성해 보겠습니다.> db.demo499.insertOne({ ... details: [ ... { ... Name

  7. MongoDB에서 정렬 순서를 변경하지 않고 최신 문서 10개만 조회하는 방법

    MongoDB에서 순서를 유지한 채 최근 문서 10개 가져오기MongoDB에서 컬렉션에 저장된 문서 중 가장 최근에 삽입된 10개를 조회하되, 기존의 저장 순서는 그대로 유지하고 싶은 경우가 있습니다. 이럴 때는 skip() 메서드를 활용하면 간단하게 해결할 수 있습니다.핵심 아이디어는 다음과 같습니다. 컬렉션의 전체 문서 개수에서 10을 뺀 값, 즉 count() - 10을 skip()에 지정하면 앞부분의 오래된 문서들은 건너뛰고 마지막 10개의 문서만 원래 순서대로 반환됩니다.1. 샘플 컬렉션 생성하기먼저 실습을 위해 컬렉션을

  8. MongoDB에서 중복 문서를 그룹화하는 쿼리 작성법

    MongoDB에서 중복된 문서들을 특정 필드 값을 기준으로 그룹화하려면 aggregate() 메서드와 $group 연산자를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 중복 문서를 그룹화하는 과정을 단계별로 살펴보겠습니다.1. 컬렉션 생성 및 문서 삽입먼저 demo501이라는 컬렉션을 만들고 여러 개의 문서를 삽입합니다. 의도적으로 동일한 이름(Chris, John)을 가진 문서를 포함시켜 중복 데이터 상황을 재현했습니다.> db.demo501.insertOne({Name:Chris});{    ackno

  9. MongoDB에서 파일 이름과 위치를 저장하는 방법 – insertOne() 실전 예제

    MongoDB에서 파일 이름과 위치를 저장하는 쿼리MongoDB에서는 insertOne() 메서드를 사용해 문서(document)를 컬렉션(collection)에 손쉽게 저장할 수 있습니다. 이번 글에서는 파일 이름(fileName)과 파일 경로(fileLocation)를 하나의 문서로 저장하고, 저장된 데이터를 조회하는 전 과정을 예제와 함께 살펴보겠습니다.1. insertOne()으로 문서 삽입하기먼저 demo645라는 컬렉션에 파일 정보를 담은 문서를 차례로 삽입합니다. 각 문서는 fileName(파일 이름)과 fileLoca

  10. MongoDB에서 조건에 맞는 요소를 다른 배열로 이동하는 방법

    MongoDB에서 배열 안의 특정 조건에 해당하는 요소를 골라내어 다른 배열로 옮기고 싶을 때가 있습니다. 이럴 때는 forEach()로 문서를 순회하면서 filter()로 원하는 요소만 추출한 뒤, save() 메서드로 변경 사항을 저장하면 됩니다.1. 샘플 컬렉션 생성하기먼저 예제로 사용할 문서가 담긴 컬렉션을 생성해 보겠습니다. Information 배열에는 여러 개의 객체가 들어 있고, 비어 있는 different 배열도 함께 만들어 둡니다.> db.demo646.insertOne( ... { ...

  11. MongoDB 집계로 필드를 결합·병합한 후 개수 계산하는 방법

    MongoDB에서 필드를 결합하거나 병합한 뒤 카운트하기MongoDB에서 여러 문서의 특정 필드를 그룹화(결합 또는 병합)한 다음 각 그룹별 개수를 계산하려면 $group 연산자와 함께 $sum, $sort를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 insertOne() 메서드를 사용해 데모용 컬렉션에 문서를 삽입합니다.> db.demo647.insertOne({Subject:MySQL}); { acknowledged : true, insertedId :

  12. MongoDB에서 중첩 문서 값 검색 방법 – $match와 $unwind 활용하기

    MongoDB에서 배열 형태로 저장된 중첩 문서(nested document) 안의 특정 값을 검색하려면 $match 연산자를 사용하면 됩니다. 이 글에서는 예제 컬렉션을 만들고, 집계 파이프라인(aggregate)을 활용해 원하는 값을 조회하는 과정을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성먼저 insertOne() 메서드를 사용해 StudentInformation이라는 중첩 배열 필드를 가진 문서를 생성합니다.> db.demo648.insertOne( ... { ... StudentInformati

  13. MongoDB에서 새 데이터베이스 생성 및 확인하는 방법

    MongoDB에서 새로운 데이터베이스 만들기MongoDB에서 새로운 데이터베이스를 생성하려면 USE 명령어를 사용해야 합니다. 기본 문법은 다음과 같습니다.use yourDatabaseName;현재 존재하는 모든 데이터베이스 목록을 확인하려면 show 명령어를 사용합니다.show dbs;데이터베이스 생성 실습위에서 소개한 문법을 직접 실행하여 onlinecustomertracker라는 이름의 데이터베이스를 생성해 보겠습니다.> use onlinecustomertracker; switched to db onlinecustomer

  14. MongoDB 집계($group)로 배열 내 중복 값 제거하는 방법

    MongoDB에서 배열 필드에 포함된 중복 값을 제거하려면 집계 파이프라인(aggregate)과 $group 연산자를 함께 사용하면 됩니다. 이 글에서는 실제 예제를 통해 컬렉션을 생성하고, 중복된 배열 값을 제거하는 전체 과정을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 insertOne() 메서드를 사용해 테스트용 컬렉션 demo649에 문서를 삽입합니다.> db.demo649.insertOne( ... { _id : 101, Names : [ John, Bob, Bob, Robert ], CountryNa

  15. MongoDB에서 특정 필드를 제외하고 _id만 조회하는 방법

    MongoDB 프로젝션으로 특정 필드 숨기기MongoDB에서 쿼리 결과에 특정 필드 이름만 표시하고 나머지는 숨기고 싶다면, 프로젝션(projection) 기능을 활용하면 됩니다. 숨기려는 필드의 값을 0으로 설정하면 해당 필드가 결과에서 제외되고, 기본적으로 항상 포함되는 _id만 남게 됩니다.1. 샘플 컬렉션 생성하기먼저 테스트용 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.demo650.insertOne({_id:101,details:{Name:Chris,Age:21}}); { acknowledged : true,

  16. MongoDB에서 MapReduce 개념을 활용해 랜덤 값 가져오는 방법

    MongoDB에서 MapReduce로 랜덤 값 가져오기MapReduce 개념을 활용해 MongoDB에서 랜덤 값을 추출하려면 mapReduce() 함수와 JavaScript의 Math.random()을 함께 사용하면 됩니다. 이 방식은 각 문서마다 난수를 생성한 뒤, 설정한 조건(예: 0.1 미만)을 만족하는 문서만 선택하는 원리로 동작합니다.먼저 예제에 사용할 컬렉션을 생성하고 문서를 삽입해 보겠습니다.> db.demo651.insertOne({Value:10}); {    "acknowledged

  17. MongoDB에서 $match로 날짜 조건 일치시키는 방법 – aggregate() 활용 예제

    MongoDB에서 특정 날짜와 일치하는 문서를 조회하려면 $match 연산자를 aggregate() 집계 파이프라인과 함께 사용하면 됩니다. 아래 예제를 통해 날짜 기반 필터링 과정을 단계별로 살펴보겠습니다. 1. 샘플 컬렉션 생성 및 문서 삽입 먼저 insertOne() 메서드로 배송 날짜(ShippingDate) 필드가 포함된 문서들을 demo491 컬렉션에 차례대로 삽입합니다. > db.demo491.insertOne({ShippingDate:new ISODate(2020-01-10)}); { acknowledg

  18. MongoDB 4에서 중첩 쿼리로 특정 문서 조회하기 – 점 표기법 완벽 가이드

    MongoDB에서는 하나의 문서 안에 또 다른 문서나 배열이 포함된 중첩(nested) 구조를 자주 사용합니다. 이런 구조에서 특정 데이터를 조회하려면 점 표기법(dot notation)을 활용한 중첩 쿼리를 작성해야 합니다. 이번 글에서는 MongoDB 4 환경에서 중첩된 필드 경로를 조건으로 지정해 원하는 문서만 정확히 가져오는 방법을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 중첩 쿼리 실습을 위해 문서가 포함된 컬렉션을 생성합니다. 아래 예제에서는 ProductDetails 객체 안에 StockDetails 배열이

  19. MongoDB mapReduce() 함수로 대체 문서만 골라 출력하는 방법

    MongoDB에서 mapReduce() 함수를 활용하면 컬렉션에 저장된 문서 중 원하는 조건에 맞는 문서만 골라낼 수 있습니다. 이 글에서는 scope 변수로 문서 순서를 카운트하고, 대체(홀수 번째) 문서만 emit()으로 내보내는 방법을 단계별로 살펴보겠습니다. 1. 샘플 데이터 준비하기 먼저 데모용 컬렉션을 생성하고 문서를 여러 개 삽입합니다. > db.demo636.insert({id:1}); WriteResult({ "nInserted" : 1 }) > db.demo636.insert({id:

  20. MongoDB explain()로 db.collection.find() 쿼리 실행 계획 해석하기

    MongoDB explain()으로 쿼리 실행 계획 해석하기MongoDB에서 find() 메서드가 어떤 방식으로 쿼리를 실행하는지, 즉 쿼리 실행 계획(query plan)을 확인하려면 explain() 메서드를 사용합니다. 이 글에서는 실제 예제를 통해 컬렉션을 만들고, 정규식 조건에 따라 인덱스 스캔 범위(index bounds)가 어떻게 달라지는지 살펴보겠습니다.1. 컬렉션 생성 및 문서 삽입먼저 ClientName 필드에 오름차순 인덱스를 생성한 뒤, 세 개의 문서를 삽입합니다.> db.demo637.ensureInde

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