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

MongoDB

  1. MongoDB 컬렉션에서 중복 데이터를 제거하는 방법 완벽 가이드

    MongoDB에서 중복 삽입 방지하기MongoDB 컬렉션에 중복 데이터가 저장되지 않도록 하려면 인덱스 생성 시 unique: true 옵션, 즉 고유(unique) 제약 조건을 설정하면 됩니다. 이렇게 하면 동일한 값의 중복 삽입이 자동으로 차단됩니다.기본 문법은 다음과 같습니다.db.yourCollectionName.ensureIndex({yourFieldName: 1}, {unique: true, dropDups: true})실전 예제로 이해하기위 문법을 실제로 적용해 보겠습니다. 먼저 demo604라는 컬렉션을 생성하고 Fi

  2. MongoDB에서 두 가지 조건에 따라 수량을 업데이트하는 방법

    MongoDB에서 두 가지 조건에 따라 수량 업데이트하기 배열 안에 있는 특정 요소의 수량(Quantity) 값을 두 가지 조건을 기반으로 수정하려면 update() 메서드를 사용하고, 쿼리 조건 부분에 두 개의 조건을 함께 지정하면 됩니다. 먼저 예제로 사용할 컬렉션을 생성하고 문서를 삽입해 보겠습니다. > db.demo605.insertOne( ... { ... _id:1, ... Information : [ ... { ... id : Product-1, ..

  3. MongoDB에서 중복 ID별 평점 평균 구하기: $avg와 $ifNull 활용 가이드

    MongoDB에서 중복 ID를 기준으로 평점 평균 구하는 방법MongoDB에서 평균값을 계산하려면 집계 파이프라인(Aggregation Pipeline)의 $avg 연산자를 사용해야 합니다. 이 글에서는 동일한 id가 여러 개 존재하는 문서들을 대상으로, id별 평점(rating) 평균을 구하는 과정을 단계별로 살펴봅니다. 특히 rating 값이 null인 문서가 섞여 있을 때 $ifNull 연산자로 이를 처리하는 방법도 함께 다룹니다.1단계: 샘플 컬렉션 생성 및 문서 삽입먼저 demo606이라는 컬렉션을 만들고 문서를 삽입합니다

  4. MongoDB에서 중첩 문서(Nested Document)를 업데이트하는 방법

    MongoDB에서 중첩 문서 업데이트하기MongoDB에서 중첩(nested)되어 있는 문서의 특정 필드를 수정하려면 update() 메서드를 사용하고, 그 안에서 점 표기법(dot notation)을 활용하면 됩니다. 점 표기법은 상위 필드와 하위 필드를 마침표(.)로 연결하여 내부에 위치한 값에 직접 접근할 수 있게 해주는 방식입니다.1. 컬렉션 생성 및 문서 삽입먼저 예제에 사용할 컬렉션을 만들고 문서를 하나 삽입해 보겠습니다.> db.demo607.insertOne( { id: 1, Info1:

  5. MongoDB 문서에서 두 배열의 고유한 값 추출하기 — $setUnion 활용법

    MongoDB에서 하나의 문서에 있는 두 배열 사이의 고유한(중복되지 않는) 값을 추출하려면 aggregate() 안에서 $setUnion 연산자를 사용하면 됩니다. $setUnion은 두 개 이상의 배열을 입력받아, 각 입력 배열에 등장하는 모든 요소를 중복 없이 하나의 배열로 합쳐서 반환합니다.1. 테스트용 컬렉션 생성먼저 예제로 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.demo608.insertOne({ ... ListOfName1: [John, Chris, Bob, David], ... ListO

  6. MongoDB 컬렉션에서 배열 필드 전체를 제거하는 방법 ($unset 활용)

    MongoDB에서 컬렉션에 저장된 문서에서 배열 필드 전체를 삭제하려면 $unset 연산자를 사용하면 됩니다. $unset은 지정한 필드 자체를 문서에서 완전히 제거하는 연산자입니다. 이번 글에서는 예제 컬렉션을 생성하고, 배열 필드를 모든 문서에서 한 번에 제거하는 과정을 단계별로 살펴보겠습니다.1. 예제 컬렉션 생성먼저 insertOne() 메서드를 사용하여 배열 필드가 포함된 문서 두 개를 생성합니다.> db.demo609.insertOne({ListOfSubject:[MySQL,MongoDB]});{ acknowl

  7. MongoDB 집계 파이프라인에서 배열 요소의 하위 집합 합산하기

    MongoDB 집계에서 배열 요소의 하위 집합 합산하기배열 요소 중 일부(하위 집합)만 골라서 합산하려면 $first 연산자와 $sum 연산자를 함께 사용하면 됩니다. 먼저 문서가 포함된 컬렉션을 생성해 보겠습니다.> db.demo610.insertOne({Values:[10,20,30,40,50]});{   acknowledged : true, insertedId : ObjectId(5e9747b8f57d0dc0b182d62e)}컬렉션 데이터 확인하기find() 메서드를 사용하여 컬렉션의 모든 문서를 조회합

  8. MongoDB에서 문서를 정렬하고 단일 필드만 표시하는 방법

    MongoDB에서 문서를 정렬하려면 sort() 메서드를 사용하면 됩니다. 정렬된 결과 중에서 하나의 필드만 표시하고 싶다면, 해당 필드 값을 1로 설정하여 프로젝션(projection)과 함께 사용할 수 있습니다.1. 컬렉션 생성 및 문서 삽입먼저 예제로 사용할 컬렉션에 문서들을 삽입해 보겠습니다.> db.demo611.insertOne({Name:Chris});{ acknowledged : true, insertedId : ObjectId(5e987110f6b89257f5584d83) } > db.demo611.

  9. MongoDB에서 $in 연산자로 특정 여러 문서 한 번에 조회하기

    MongoDB에서 조건에 맞는 여러 문서를 한 번에 가져오려면 $in 연산자를 사용하면 됩니다. $in은 지정한 배열 안의 값과 일치하는 필드를 가진 문서만 골라 조회해 주는 연산자로, 특정 ID나 이름 목록에 해당하는 데이터를 추출할 때 매우 유용합니다. SQL의 WHERE id IN (1, 3) 구문과 같은 역할을 한다고 이해하면 쉽습니다.1. 컬렉션 생성 및 문서 삽입먼저 예제로 사용할 컬렉션을 만들고 insertOne() 메서드로 문서를 차례대로 삽입해 보겠습니다.> db.demo593.insertOne({id:1,Na

  10. MongoDB에서 $slice로 필드(배열)의 반환 값 제한하기

    MongoDB에서 배열 필드에 포함된 요소 중 일부만 조회하고 싶을 때는 $slice 연산자를 활용하면 됩니다. $slice는 쿼리의 프로젝션(projection) 단계에서 배열의 일부만 잘라내어 반환하므로, 대량의 배열 데이터 중 필요한 만큼만 효율적으로 가져올 수 있습니다.먼저 예제에 사용할 문서가 담긴 컬렉션을 생성해 보겠습니다.1. 컬렉션 및 문서 생성> db.demo594.insertOne( ... { ... id:1, ... details:[ ... {Name:Chr

  11. MongoDB에서 중첩(Nested) 문서 업데이트하기 – 위치 연산자($) 활용법

    MongoDB에서 배열 안에 포함된 중첩(nested) 문서의 특정 필드를 수정하려면 위치 연산자($)를 사용하면 됩니다. 위치 연산자는 쿼리 조건에 일치하는 첫 번째 배열 요소를 자동으로 식별하여, 해당 요소만 정확하게 업데이트할 수 있도록 도와줍니다.이 글에서는 실제 예제를 통해 중첩 문서를 업데이트하는 전체 과정을 단계별로 살펴보겠습니다.1단계: 샘플 컬렉션 생성먼저 배열 형태의 중첩 문서를 포함하는 컬렉션을 생성합니다. insertOne() 메서드를 사용하여 demo595라는 컬렉션을 만들어 보겠습니다.> db.demo

  12. MongoDB에서 조건에 맞는 단일 문서만 검색하는 방법 – findOne() 활용 가이드

    MongoDB에서 특정 조건을 만족하는 문서 중 단 하나만 조회하고 싶다면 findOne() 메서드를 사용하면 됩니다. findOne()은 컬렉션에서 지정된 쿼리 조건을 만족하는 문서를 찾아 그중 첫 번째 문서 하나만 반환합니다.테스트용 컬렉션 생성하기먼저 예제로 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.demo596.insertOne({_id:1,FirstName:John,LastName:Smith});{ acknowledged : true, insertedId : 1 }> db.demo596.inser

  13. MongoDB에서 특정 문자열이 포함된 문서를 찾는 방법 ($regex 활용)

    특정 문자열이 포함된 문서를 찾으려면 find() 메서드와 함께 $regex 연산자를 사용하면 됩니다. 먼저 예제에 사용할 컬렉션을 생성하고 문서를 삽입해 보겠습니다.> db.demo597.insertOne({Name:John Doe});{ acknowledged : true, insertedId : ObjectId(5e947ae3f5f1e70e134e2690) } > db.demo597.insertOne({Name:John Smith});{ acknowledged : true, insertedId : Ob

  14. MongoDB 집계(Aggregation)로 문서 및 배열 요소의 평균값 구하기

    MongoDB에서 문서 필드와 배열 내부 요소의 평균값을 한 번에 계산해야 하는 경우가 있습니다. 이럴 때는 $avg 연산자를 $group 단계와 함께 aggregate() 메서드 안에서 사용하면 됩니다.1. 샘플 컬렉션 생성하기먼저 실습용 컬렉션을 만들고 문서를 삽입하겠습니다. 각 문서는 학생 정보와 이름·점수를 담은 details 배열을 포함하고 있습니다.> db.demo598.insertOne( ... { ... Information:Student, ... id:100, ...

  15. MongoDB에서 문서 필드 값끼리 빼는 방법 – TotalPrice에서 Discount 차감하기

    MongoDB에서 문서의 필드 값을 서로 빼고 싶다면 aggregate() 메서드와 함께 $subtract 연산자를 사용하면 됩니다. 이 연산자는 집계 파이프라인 내에서 두 필드 값의 차이를 계산해 새로운 필드로 출력할 수 있어 매우 유용합니다.1. 샘플 컬렉션 생성하기먼저 예제로 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.demo599.insertOne({TotalPrice:250,DiscountPrice:35});{ acknowledged : true, insertedId : ObjectId(5e948

  16. MongoDB 문서 업데이트 시 사용자 정의 변수를 활용하는 방법

    MongoDB에서 문서를 업데이트할 때 update() 메서드와 함께 사용자 정의(custom) 변수를 활용하면 코드의 재사용성과 가독성을 높일 수 있습니다. 이 글에서는 변수를 선언하고 업데이트 쿼리에 적용하는 전체 과정을 예제와 함께 살펴보겠습니다.기본 문법먼저 변수를 선언한 뒤, update() 메서드의 $set 연산자에 해당 변수를 지정하는 기본 문법은 다음과 같습니다.var anyVariableName = yourValue; db.yourCollectionName.update({filter}, {$set:{yourField

  17. MongoDB에서 새 사용자 생성 및 역할(Role) 설정하는 방법

    MongoDB에서 새 사용자 생성 및 역할(Role) 설정하는 방법MongoDB에서 관리자(admin)처럼 강력한 권한을 가진 새로운 사용자를 만들려면 userAdminAnyDatabase 역할을 사용하는 것이 효과적입니다. 이 역할은 모든 데이터베이스에서 사용자를 생성하고 관리할 수 있는 권한을 부여하므로, 사실상 관리자 수준의 권한으로 볼 수 있습니다.1. 사용자 생성 기본 문법새로운 사용자를 추가할 때는 먼저 admin 데이터베이스로 전환한 뒤 db.createUser() 메서드를 사용합니다. 기본 문법은 다음과 같습니다.us

  18. MongoDB에서 문서 업데이트 시 덮어쓰기를 방지하는 방법

    MongoDB에서 update() 메서드를 사용할 때 주의해야 할 점이 있습니다. 쿼리 조건에 해당하는 필드만 수정하려면 반드시 $set 연산자를 사용해야 합니다. $set을 사용하지 않으면 기존 문서 전체가 새로운 내용으로 덮어써지게 됩니다.이번 글에서는 예제를 통해 MongoDB에서 특정 필드만 업데이트하고 나머지 데이터는 그대로 유지하는 방법을 알아보겠습니다.1. 컬렉션 생성 및 문서 삽입먼저 insertOne() 메서드를 사용하여 컬렉션을 만들고 문서를 삽입합니다.> db.demo601.insertOne( ...

  19. MongoDB에서 배열 요소의 평균값 구하는 방법 – $avg 연산자 활용 가이드

    MongoDB에서 배열(array)에 저장된 여러 값들의 평균을 계산해야 하는 경우가 자주 있습니다. 예를 들어 학생의 과목별 점수가 배열로 저장되어 있을 때 전체 평균 점수를 구하고 싶다면, 집계 파이프라인(aggregation pipeline)에서 $avg 연산자를 사용하면 됩니다.테스트용 컬렉션 생성하기먼저 실습을 위해 문서(document)를 포함한 컬렉션을 생성해 보겠습니다. insertOne() 메서드를 사용하여 점수 배열을 저장합니다.> db.demo584.insertOne({Marks:[75,50,85,60,80

  20. MongoDB에서 그룹화 결과를 객체로 투영하고 특정 필드만 표시하는 방법

    MongoDB에서 그룹화를 객체로 투영하는 방법MongoDB에서 배열 형태의 문서 데이터를 과목명을 키(key)로, 점수를 값(value)으로 하는 객체 형태로 변환하고 싶은 경우가 있습니다. 이번 글에서는 forEach()를 활용해 그룹화된 데이터를 하나의 객체로 투영(projection)하고, 원하는 필드만 깔끔하게 표시하는 방법을 단계별로 알아보겠습니다.1단계: 샘플 문서 생성먼저 예제로 사용할 문서를 생성합니다.> var document = [ ... { SubjectName : MySQL, Marks : 78 }

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