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

MongoDB

  1. MongoDB 객체 배열에서 서로 다른 객체의 속성을 비교하는 방법

    개요MongoDB에서 하나의 도큐먼트에 포함된 객체 배열 안에서 서로 다른 객체의 속성 값을 비교해야 하는 경우가 있습니다. 이럴 때는 $let 연산자와 $indexOfArray 연산자를 함께 사용하면 간단하게 해결할 수 있습니다.이 글에서는 예제 컬렉션을 만들고, 배열 내 특정 객체들을 찾아 그 속성 값을 비교하는 쿼리를 단계별로 살펴보겠습니다.1. 컬렉션 생성 및 문서 삽입먼저 insertOne() 메서드를 사용하여 샘플 문서가 담긴 컬렉션을 생성합니다.> db.demo366.insertOne( ... { ...

  2. MongoDB에서 sort() 메서드로 컬렉션 데이터 정렬하기

    MongoDB에서 컬렉션의 문서(레코드)를 정렬하려면 sort() 메서드를 사용합니다. 이번 글에서는 예제 컬렉션을 만들고, sort()를 활용해 데이터를 오름차순으로 정렬하는 과정을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성먼저 insertOne() 메서드를 사용해 demo32 컬렉션에 문서들을 추가합니다.> db.demo32.insertOne({Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e175158cfb11e5c34d898c5) } > d

  3. MongoDB 집계 프레임워크로 배열 길이 기준 정렬하기

    MongoDB에서 배열 길이를 기준으로 문서 정렬하기MongoDB에서 배열 필드의 요소 개수(길이)를 기준으로 문서를 정렬하려면 aggregate() 메서드를 사용합니다. 정렬에 앞서 $sum 연산자로 배열 내 레코드 수를 계산하고, $unwind로 배열을 개별 문서로 분해한 뒤 그룹화하는 과정을 거칩니다.아래에서 전체 과정을 단계별로 살펴보겠습니다.1단계: 컬렉션 생성 및 문서 삽입먼저 데모용 컬렉션을 만들고 학생 목록 배열을 가진 문서들을 삽입합니다.> db.demo33.insertOne({ListOfStudent:[Chr

  4. ObjectId만으로 MongoDB 문서(행)를 업데이트하는 쿼리 작성법

    MongoDB에서 특정 문서를 수정하려면 update() 메서드를 사용하고, 변경할 새로운 값은 $set 연산자로 지정합니다. 이 글에서는 ObjectId(_id)를 기준으로 컬렉션의 행(문서)을 업데이트하는 과정을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 insertOne() 메서드를 사용해 demo34 컬렉션에 문서 세 개를 생성합니다.> db.demo34.insertOne({StudentFirstName:Chris,StudentAge:24}); { acknowledged : true, inserte

  5. MongoDB에서 $exists 연산자로 true/false 값 기준 문서 조회하기

    MongoDB에서 특정 필드의 존재 여부(true/false)를 기준으로 문서를 조회하려면 find() 메서드와 함께 $exists 연산자를 사용하면 됩니다. 배열 내부의 중첩된 필드를 검색할 때는 점 표기법(dot notation)을 활용해야 합니다.이 글에서는 실제 예제를 통해 $exists 연산자를 사용하는 방법을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성먼저 예제에 사용할 문서들을 담은 컬렉션을 생성합니다.> db.demo367.insertOne( ... { Id : 102, ... details :

  6. MongoDB 쿼리에서 NULL 및 UNDEFINED 값 제외하는 방법 ($ne 연산자 활용)

    MongoDB에서 쿼리를 실행할 때 NULL 또는 UNDEFINED 값이 저장된 문서를 결과에서 제외하고 싶다면 $ne(not equal) 연산자를 사용하면 됩니다. 이번 글에서는 실제 예제를 통해 NULL과 UNDEFINED 값을 무시하는 방법을 단계별로 살펴보겠습니다.1. 테스트용 컬렉션 생성 및 데이터 삽입먼저 다양한 값(문자열, null, undefined)을 포함하는 컬렉션을 생성합니다.> db.demo35.insertOne({Name:Chris}); { acknowledged : true, inserted

  7. MongoDB에서 배열의 고유(distinct) 값 개수 구하는 방법

    MongoDB에서 배열 필드에 저장된 값들 중 중복을 제거한 고유한(distinct) 값의 개수를 구하고 싶다면 distinct() 메서드와 length 속성을 함께 사용하면 됩니다. 이번 글에서는 예제 컬렉션을 만들고, 배열 내 고유 값의 총 개수를 조회하는 과정을 단계별로 살펴보겠습니다.1. 예제 컬렉션 생성하기먼저 insertOne() 메서드를 사용해 문서를 담은 컬렉션을 생성합니다.> db.demo36.insertOne({Names:[Chris,Bob]}); { acknowledged : true, inser

  8. MongoDB에서 문자와 숫자로 이루어진 컬렉션 이름으로 레코드 조회하는 방법

    MongoDB에서는 컬렉션 이름에 문자와 숫자가 혼합되어 있어도 문제없이 사용할 수 있습니다. 다만 일반적인 db.컬렉션이름 형식의 점 표기법(dot notation)으로는 접근하기 어려우므로, db.getCollection() 메서드를 활용해야 합니다.1. 문자와 숫자가 섞인 컬렉션 생성하기먼저 아래와 같은 이름을 가진 컬렉션을 생성해 보겠습니다.7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo3682. db.createCollection()으로 컬렉션 만들기db.createCollection() 메

  9. MongoDB에서 deleteOne() 함수 사용법 – 조건에 맞는 문서 하나만 삭제하기

    MongoDB의 deleteOne() 함수란?MongoDB의 deleteOne() 함수는 컬렉션에서 지정한 조건과 일치하는 문서 중 최대 한 개만 삭제합니다. 여러 개의 문서가 같은 조건에 일치하더라도 가장 먼저 발견된 문서 하나만 제거되며, 나머지 문서는 그대로 유지됩니다.이번 글에서는 실제 예제를 통해 deleteOne() 함수의 동작 방식을 단계별로 살펴보겠습니다.1단계: 테스트용 컬렉션 생성하기먼저 insertOne() 메서드를 사용해 demo363이라는 컬렉션에 문서들을 생성합니다. 예제에서는 Chris라는 이름을 가진 문

  10. MongoDB에서 점(.)이 포함된 키를 가진 문서를 찾는 쿼리 방법

    MongoDB에서 필드 이름에 점(.)이 포함된 경우, 일반적인 도트 표기법(dot notation)으로는 해당 필드에 접근하기 어렵습니다. 이럴 때 $addFields 연산자를 활용하면 됩니다. 내부적으로 $objectToArray를 사용해 데이터를 키(key)와 값(value) 형태의 배열로 변환한 뒤, $filter와 $indexOfBytes를 조합하여 키 안에 점이 포함되어 있는지 확인할 수 있습니다.1. 샘플 컬렉션 생성하기먼저 점이 포함된 키를 가진 문서들로 컬렉션을 생성해 보겠습니다.> db.demo364.inse

  11. MongoDB에서 FirstName 필드 값을 기준으로 정렬하는 방법

    MongoDB에서 특정 필드 값 정렬하기MongoDB에서 문서를 정렬하려면 sort() 메서드를 사용합니다. sort()는 필드 이름과 정렬 방향을 지정하는 객체를 인자로 받으며, 1은 오름차순(ascending), -1은 내림차순(descending)을 의미합니다.먼저 예제에 사용할 컬렉션을 생성하고 문서를 삽입해 보겠습니다.> db.demo365.insertOne({FirstName:Chris}); { acknowledged : true, insertedId : ObjectId(5e57d5b6d0ada61456d

  12. MongoDB 하위 배열 문서 정렬 방법 – $sort 연산자 완벽 가이드

    MongoDB에서 배열 안에 포함된 하위 문서(sub-document)를 정렬하려면 aggregate 집계 파이프라인과 $sort 연산자를 함께 사용해야 합니다. 이번 글에서는 학생 정보 배열을 이름(Name) 기준으로 오름차순 정렬하는 실전 예제를 단계별로 살펴보겠습니다.1단계: 컬렉션 생성 및 문서 삽입먼저 insertOne() 메서드를 사용하여 StudentDetails라는 하위 배열을 가진 문서를 생성합니다.> db.demo23.insertOne(...{...... StudentDetails : [{...

  13. MongoDB $group에서 계산된 표현식을 $push로 배열에 추가하는 방법

    MongoDB에서 $group 단계 내부에 계산된 표현식을 배열로 추가하려면 aggregate() 메서드를 사용하면 됩니다. 이 글에서는 샘플 컬렉션을 생성한 뒤, $push 연산자와 $cond 조건식을 함께 활용해 그룹화 과정에서 동적으로 계산된 값을 배열에 담는 방법을 단계별로 살펴보겠습니다.1. 샘플 데이터 생성먼저 다음과 같이 문서들이 담긴 컬렉션을 생성합니다.> db.demo24.insertOne({Id:100,Status:true}); { acknowledged : true, insertedId : O

  14. MongoDB에서 배열 내 객체의 일부로 쿼리하는 방법 – findOne()과 $all 활용

    MongoDB에서 배열 내 객체의 일부로 쿼리하는 방법배열 안에 포함된 객체의 특정 필드 값을 기준으로 문서를 조회하려면 findOne() 메서드와 $all 연산자를 함께 사용하면 됩니다. 아래 예제를 통해 전체 과정을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 insertOne() 메서드를 사용하여 Details라는 배열 필드를 가진 문서 두 개를 컬렉션에 삽입합니다.> db.demo25.insertOne(... {... "Details":[... {... &quo

  15. MongoDB에서 SQL의 LIKE 연산과 유사한 쿼리 수행하는 방법

    개요SQL에서 자주 사용하는 LIKE 연산과 유사한 기능을 MongoDB에서 구현하려면 정규 표현식(Regular Expression)을 활용하면 됩니다. 예를 들어 특정 문자열이 포함된 문서를 검색하려면 /검색문자/ 형태로 패턴을 지정하면 됩니다.먼저 예제에 사용할 컬렉션을 생성하고 문서를 삽입해 보겠습니다.컬렉션 생성 및 문서 삽입> db.demo26.insertOne({"StudentName":"Chris"});{   "acknowledged"

  16. MongoDB에서 동일한 업데이트에 $addToSet 여러 번 사용하는 방법

    네, 가능합니다. MongoDB에서는 update() 메서드를 사용하면 동일한 업데이트 작업 안에서 $addToSet 연산자를 여러 번 활용할 수 있습니다. $addToSet은 배열에 값을 추가하되, 이미 존재하는 값은 중복해서 넣지 않는 연산자로, 중복 없는 배열을 유지할 때 매우 유용합니다. 1. 컬렉션 생성 및 문서 삽입 먼저 문서가 담긴 컬렉션을 생성해 보겠습니다. > db.demo27.insertOne({"StudentDetails":{"101":{"Subject"

  17. MongoDB 컬렉션 이름에 마침표(.) 기호를 사용할 수 있을까?

    MongoDB 컬렉션 이름에 마침표(.) 기호를 사용할 수 있을까?결론부터 말하면 가능합니다. MongoDB에서는 컬렉션 이름에 마침표(.) 기호를 포함할 수 있습니다. 다만 한 가지 주의할 점이 있습니다. 마침표가 들어간 컬렉션은 일반적인 점 표기법(db.컬렉션명)으로는 접근할 수 없으며, 반드시 db.getCollection() 메서드를 사용해야 합니다.마침표가 포함된 컬렉션 생성 및 문서 삽입아래 예제는 demo28.example이라는 이름의 컬렉션을 생성하고, 세 개의 문서를 차례로 삽입하는 과정입니다.> db.getC

  18. MongoDB 문서에서 배열 항목 조회하는 방법 – 점(.) 표기법 완벽 가이드

    MongoDB 문서에서 배열 항목 조회하기MongoDB 문서 내부에 저장된 배열(array)의 특정 항목을 조회하려면 점(.) 표기법(dot notation)을 사용하면 됩니다. 점 표기법은 배열 필드 이름과 그 안의 하위 필드를 마침표로 연결하여 중첩된 데이터에 접근할 수 있게 해주는 MongoDB의 기본 문법입니다.이번 글에서는 실제 예제를 통해 점 표기법으로 배열 항목을 조회하는 방법을 단계별로 살펴보겠습니다.1단계: 샘플 컬렉션 생성먼저 학생 정보가 담긴 배열을 포함한 문서로 컬렉션을 생성해 보겠습니다. insertOne()

  19. MongoDB에서 각 문서의 여러 날짜 필드 중 가장 오래된 날짜 찾는 방법

    여러 개의 날짜 필드 중에서 가장 오래된(최소) 날짜를 찾아야 하는 경우가 종종 있습니다. MongoDB에서는 aggregate() 파이프라인과 $min 연산자를 활용하면 이 작업을 손쉽게 처리할 수 있습니다. 지금부터 실제 예제를 통해 단계별로 살펴보겠습니다. 1. 샘플 컬렉션 생성하기 먼저 세 개의 날짜 키(Date1, Date2, Date3)를 가진 문서들을 담은 컬렉션을 생성합니다. > db.demo353.insertOne({Date1:new ISODate(2019-01-10),Date2:new ISODate(2016-

  20. MongoDB에서 다른 필드를 기준으로 그룹화해 고유 필드 수를 계산하는 방법

    MongoDB에서 특정 필드를 기준으로 데이터를 그룹화한 뒤, 각 그룹에 속한 고유(unique) 값의 개수를 구하려면 aggregate() 메서드와 $group 연산자를 함께 사용하면 됩니다. 이 글에서는 실제 예제를 통해 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 테스트에 사용할 컬렉션을 만들고 문서를 삽입합니다.> db.demo354.insertOne({Name1:Chris,Name2:David}); { acknowledged : true, insertedId : ObjectId(5e5685a6f86

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