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

MongoDB

  1. MongoDB에서 배열의 하위 항목을 설정하는 방법 – 위치 연산자($) 활용하기

    MongoDB에서 배열 안에 포함된 특정 하위 항목(sub-item)의 값을 수정하려면 위치 연산자($)를 사용할 수 있습니다. 이 연산자는 쿼리 조건과 일치하는 첫 번째 배열 요소를 자동으로 찾아 해당 위치의 값만 업데이트해 줍니다.이번 글에서는 실제 예제를 통해 배열 내 하위 항목을 설정하는 과정을 단계별로 살펴보겠습니다.1단계: 컬렉션 생성 및 문서 삽입먼저 insertOne() 메서드를 사용해 문서가 담긴 컬렉션을 생성합니다.> db.demo22.insertOne(...    {...

  2. MongoDB에서 중첩 문서(Nested Document) 업데이트하는 방법 – $set 연산자 활용 가이드

    MongoDB 중첩 문서 업데이트란?MongoDB에서는 하나의 문서 안에 배열과 객체가 여러 겹으로 중첩된 구조를 자주 사용합니다. 이렇게 깊이 들어간 중첩 문서(nested document)의 특정 필드만 수정하고 싶다면 $set 연산자와 점 표기법(dot notation)을 함께 사용하면 됩니다.아래 예제를 통해 컬렉션 생성부터 중첩 필드 업데이트, 결과 확인까지 전체 과정을 단계별로 살펴보겠습니다.1단계: 컬렉션 생성 및 문서 삽입먼저 insertOne() 메서드를 사용하여 데모용 컬렉션에 문서를 생성합니다. 이 문서에는 de

  3. MongoDB에서 동일한 이름의 항목 중복 삽입을 막는 방법

    MongoDB에서 중복 데이터 삽입 제한하기MongoDB에서 같은 이름의 항목이 중복으로 저장되지 않도록 하려면 ensureIndex() 메서드를 사용하고 unique:true 옵션을 설정하면 됩니다. 이렇게 하면 해당 필드에 유니크(고유) 인덱스가 생성되어, 이후 중복된 값을 가진 문서를 삽입하려고 할 때 오류가 발생합니다.참고로 최신 버전의 MongoDB에서는 createIndex() 메서드 사용이 권장되며, ensureIndex()는 더 이상 권장되지 않습니다. 두 메서드 모두 동일하게 유니크 인덱스를 생성할 수 있습니다.1.

  4. MongoDB 내장 배열(목록)에서 특정 값보다 큰 값을 조회하는 방법

    MongoDB 내장 목록에서 $gt 연산자로 조건에 맞는 값 조회하기MongoDB에서 내장된 배열(목록) 안의 필드 값이 특정 값보다 큰 문서를 찾으려면 find() 메서드와 함께 $gt(greater than, 초과) 연산자를 사용하면 됩니다. 먼저 예제에 사용할 컬렉션을 생성해 보겠습니다.> db.demo317.insertOne( ... {id:101, ... details:[{Score:78,Name:Chris}, ... {Score:88,Name:David} ... ] ...

  5. MongoDB에서 배열의 특정 값 제거하기: $pull 연산자 활용법

    MongoDB에서 문서 내 배열에 포함된 특정 값을 제거하려면 update() 메서드와 함께 $pull 연산자를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 $pull 연산자의 사용 방법을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성먼저 데모용 컬렉션을 만들고 문서를 삽입합니다.> db.demo318.insertOne({Subject:[MySQL,MongoDB,Java]}); { acknowledged : true, insertedId : ObjectId(5e50ea6df8647eb59e562062) } >

  6. MongoDB 배열에서 capped 대신 $slice로 하위 데이터 제한하는 방법

    MongoDB에서 배열에 capped를 사용할 수 없는 이유와 $slice 대안MongoDB에서는 배열(하위 컬렉션)에 직접 capped 옵션을 적용할 수 없습니다. capped는 컬렉션 전체에만 설정할 수 있는 옵션이기 때문입니다. 따라서 배열에서 특정 개수의 값만 조회하고 싶다면 $slice 연산자를 사용하는 것이 올바른 방법입니다.1. 샘플 컬렉션 생성하기먼저 문서가 포함된 컬렉션을 생성해 보겠습니다.> db.demo319.insertOne({Scores:[100,345,980,890]}); { acknowledg

  7. MongoDB에서 문서를 업데이트하는 가장 빠른 방법은 update()일까요, save()일까요?

    MongoDB에서 기존 문서를 수정할 때 update() 메서드가 가장 빠르고 효율적인 방법입니다. save()는 전체 문서를 교체하는 방식이라 불필요한 오버헤드가 발생할 수 있지만, update()는 변경이 필요한 필드만 갱신하므로 성능 면에서 유리합니다.이번 글에서는 실제 예제를 통해 update() 메서드의 동작 방식을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성먼저 insertOne() 메서드를 사용해 demo320 컬렉션에 여러 개의 문서를 생성합니다.> db.demo320.insertOne({Name:Chris})

  8. MongoDB에서 배열(Array) 값을 저장하고 조회하는 방법

    MongoDB는 스키마가 유연한 NoSQL 데이터베이스로, 하나의 필드 안에 여러 개의 값을 담을 수 있는 배열(Array) 형태의 데이터를 손쉽게 저장할 수 있습니다. 특히 배열 안에 객체(서브 도큐먼트)까지 포함할 수 있어, 복잡한 구조의 데이터도 하나의 문서로 관리할 수 있습니다.1. 배열 값을 포함한 컬렉션 생성하기먼저 insertOne() 메서드를 사용하여 배열 값을 저장하는 문서를 가진 컬렉션을 생성해 보겠습니다. 아래 예제에서는 UserDetails라는 필드에 사용자 정보 객체들이 배열 형태로 들어가 있습니다.>

  9. MongoDB에서 runCommand()와 함께 collMod를 사용하는 방법

    MongoDB에서 runCommand()와 함께 collMod 사용하기collMod는 컬렉션에 새로운 옵션을 추가하거나 기존 뷰(view)의 정의를 수정할 수 있도록 지원하는 MongoDB 관리 명령입니다. 이 명령은 일반적으로 db.runCommand() 메서드와 함께 실행됩니다.아래 예제를 통해 collMod의 실제 사용 방법을 단계별로 살펴보겠습니다.1단계: 컬렉션 생성 및 문서 삽입먼저 insertOne() 메서드를 사용하여 demo13 컬렉션에 문서를 차례대로 삽입합니다.> db.demo13.insertOne({Stu

  10. MongoDB에서 배열을 하나로 합치는 방법 – $concatArrays 연산자 완벽 가이드

    MongoDB에서 두 개 이상의 배열을 하나로 합쳐야 할 때는 집계 파이프라인의 $concatArrays 연산자를 사용하면 됩니다. 이 연산자는 여러 배열 필드를 순서대로 이어 붙여 새로운 배열을 만들어 주며, MongoDB 3.2 버전부터 지원됩니다.1. 샘플 데이터 준비하기먼저 학생 목록과 교사 목록을 담고 있는 문서로 컬렉션을 생성해 보겠습니다.> db.demo14.insertOne({ListOfStudent:[Carol,Mike,Sam],ListOfTeacher:[Robert,David]}); { acknowle

  11. MongoDB에서 배열의 모든 요소가 특정 값과 일치하는 문서 찾는 방법

    MongoDB에서 배열 필드를 다룰 때, 배열 내 모든 요소가 특정 값과 일치하는 문서만 조회해야 하는 경우가 있습니다. 이럴 때 $elemMatch 연산자를 $not, $ne와 함께 조합하면 원하는 결과를 얻을 수 있습니다.먼저 예제에 사용할 컬렉션을 생성하고 문서를 삽입해 보겠습니다.> db.demo15.insertOne({Details:[{Score:56},{Score:78}]}); { acknowledged : true, insertedId : ObjectId(5e0f7806d7df943a7cec4fab) }

  12. MongoDB에서 'version' 컬렉션을 생성하고 쿼리하는 방법

    MongoDB에서 version이라는 이름의 컬렉션을 만들고 쿼리하려면 createCollection()과 getCollection() 메서드를 활용하면 됩니다. 이 글에서는 컬렉션 생성부터 문서 삽입, 그리고 조회까지 전체 과정을 단계별로 살펴보겠습니다.1. version 컬렉션 생성하기먼저 createCollection() 메서드를 사용하여 version이라는 이름의 컬렉션을 생성합니다.> db.createCollection(version); { ok : 1 }결과값이 { ok : 1 }로 반환되면 컬렉션이 성공적으로 생성

  13. MongoDB 단일 쿼리로 그룹화(Group)와 고유값(Distinct) 동시에 처리하기

    개요MongoDB에서 집계(aggregate) 파이프라인의 $group 단계와 $addToSet 연산자를 함께 사용하면, 하나의 쿼리만으로 데이터를 그룹화하는 동시에 특정 필드의 고유값(distinct)을 추출할 수 있습니다. 아래 예제에서는 학생 데이터를 대상으로 이름과 반(section)의 고유값을 구하고, 나이와 점수의 최솟값·최댓값까지 한 번에 계산하는 방법을 살펴보겠습니다.1. 샘플 컬렉션 생성먼저 insertOne() 메서드를 사용하여 문서가 포함된 컬렉션을 생성합니다.> db.demo16.insertOne({...

  14. MongoDB에서 배열의 모든 요소를 포함하는 문서 필터링하기 – $all 연산자 완벽 가이드

    MongoDB $all 연산자로 문서 필터링하기MongoDB에서 특정 배열 필드가 지정한 모든 값을 포함하고 있는지 확인하여 문서를 조회해야 하는 경우가 있습니다. 예를 들어, 여러 과목 목록 중에서 C++, PL/SQL, MongoDB 세 과목을 모두 포함한 문서만 찾고 싶다면 어떻게 해야 할까요?이럴 때 사용하는 것이 바로 $all 연산자입니다. $all은 지정한 배열의 모든 요소를 포함하는 문서만 정확하게 찾아줍니다.1. 테스트용 컬렉션 생성하기먼저 실습을 위해 샘플 문서들이 담긴 컬렉션을 생성해 보겠습니다.> db.de

  15. MongoDB update 연산으로 필드를 배열 타입으로 변환하는 방법

    MongoDB에서 기존 문서의 특정 필드를 배열(Array) 형태로 변환해야 하는 경우가 종종 있습니다. 예를 들어 단일 문자열로 저장된 데이터를 나중에 여러 값을 담을 수 있도록 배열 구조로 바꾸고 싶다면, forEach() 메서드 안에서 update 작업을 수행하면 간단하게 처리할 수 있습니다.1. 테스트용 컬렉션 생성먼저 insertOne() 메서드를 사용해 샘플 문서가 담긴 컬렉션을 만들어 보겠습니다.> db.demo18.insertOne({StudentName:John}); { acknowledged : true

  16. MongoDB에서 텍스트 검색과 정규식($regex) 활용 방법

    MongoDB에서 텍스트 검색과 정규식 활용하기MongoDB에서 정규식(Regular Expression)을 사용해 레코드를 필터링하려면 $regex 연산자를 활용하면 됩니다. 이번 글에서는 샘플 컬렉션 생성부터 정규식 기반 텍스트 검색까지 단계별로 예제와 함께 살펴보겠습니다.1. 샘플 컬렉션 및 문서 생성먼저 insertOne() 메서드를 사용해 데모 컬렉션(demo19)에 문서를 추가합니다.> db.demo19.insertOne({"Values":"4321GH"}); {  &nb

  17. MongoDB에서 문서의 특정 데이터 삭제하기 – $unset 연산자 사용법

    MongoDB에서 문서에 포함된 특정 필드나 데이터를 삭제하려면 $unset 연산자를 사용하면 됩니다. $unset은 해당 필드의 값을 비우는 것이 아니라, 문서에서 필드 자체를 완전히 제거하는 역할을 합니다. 아래에서 단계별로 그 사용 방법을 살펴보겠습니다. 1단계: 샘플 컬렉션 생성 먼저 insertOne() 메서드를 사용하여 테스트용 문서가 담긴 컬렉션을 생성합니다. > db.demo20.insertOne( ... { ... ListOfEmployee : [ ... { ...

  18. MongoDB에서 현재 열린 연결 수 확인하는 방법

    MongoDB 서버를 운영하다 보면 현재 몇 개의 클라이언트 연결이 열려 있는지, 그리고 추가로 몇 개의 연결이 가능한지 확인해야 할 때가 많습니다. 이러한 정보는 db.serverStatus() 메서드 하나로 손쉽게 조회할 수 있습니다.serverStatus()로 연결 정보 조회하기MongoDB 셸(mongo shell)에서 다음 명령어를 실행하면 서버의 전반적인 상태 정보를 확인할 수 있습니다.> db.serverStatus();이 명령은 호스트 정보, 가동 시간, 잠금 상태, 네트워크 통계 등 매우 방대한 출력 결과를 반

  19. MongoDB에서 중복 레코드가 있는 컬렉션의 최소값·최대값 구하기 (aggregate + $group)

    MongoDB에서 중복된 값이 섞여 있는 문서들 사이에서 최소값과 최대값을 한 번에 구하려면 aggregate() 메서드와 $group 단계를 사용하면 됩니다. 이때 최소값에는 $min, 최대값에는 $max 연산자를 함께 활용합니다.1. 샘플 데이터 생성먼저 테스트용 컬렉션을 만들고 문서를 삽입해 보겠습니다. 아래 예제에서는 점수(Score) 필드에 중복된 값(60)이 포함되어 있습니다.> db.demo167.insertOne({Score:60}); { acknowledged : true, insertedId :

  20. JavaScript에서 날짜를 증가시켜 MongoDB 문서를 업데이트하는 방법

    날짜를 증가시키려면 자바스크립트의 setDate()와 getDate() 메서드를 활용하면 됩니다. 이 두 메서드를 조합하면 특정 일수만큼 날짜를 손쉽게 더할 수 있으며, 그 결과를 MongoDB 업데이트 쿼리에 적용할 수 있습니다.1. 컬렉션 및 문서 생성먼저 예제에 사용할 컬렉션을 만들고 문서를 하나 삽입해 보겠습니다.> db.demo168.insertOne({DueDate:null}); { acknowledged : true, insertedId : ObjectId(5e3695ae9e4f06af551997d6)

Total 1351 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:26/68  20-컴퓨터/Page Goto:1 20 21 22 23 24 25 26 27 28 29 30 31 32