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

MongoDB

  1. MongoDB에서 _id(ObjectId)로 레코드를 찾는 방법

    MongoDB에서 _id로 레코드 찾기MongoDB에서 _id 필드를 기준으로 특정 레코드(문서)를 조회하려면 find() 메서드와 함께 ObjectId() 함수를 사용하면 됩니다. 기본 문법은 다음과 같습니다.db.yourCollectionName.find({_id:yourObjectId});1. 예제용 컬렉션 생성먼저 실습에 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다. insertOne() 메서드를 호출하면 각 문서마다 고유한 ObjectId가 자동으로 생성되어 저장됩니다.> db.findRecordByIdDemo.i

  2. JavaScript 배열로 MongoDB 데이터베이스 목록 가져오는 방법

    MongoDB에 존재하는 전체 데이터베이스 목록을 JavaScript 배열 형태로 가져오고 싶다면 runCommand() 메서드를 활용하면 됩니다. 이 메서드에 { listDatabases: 1 } 명령을 전달하면 서버의 모든 데이터베이스에 대한 이름, 디스크 사용량 등 상세 정보를 한 번에 조회할 수 있습니다.참고로 listDatabases 명령은 관리 권한이 필요하므로 반드시 admin 데이터베이스에서 실행해야 합니다.1단계: listDatabases 명령 실행하기먼저 admin 데이터베이스로 전환한 뒤 runCommand()를

  3. MongoDB 데이터베이스 존재 여부 확인하는 방법

    MongoDB에서 특정 데이터베이스가 존재하는지 확인하는 방법은 크게 두 가지 결과로 나뉩니다. 인덱스 값을 반환받아 데이터베이스의 존재 여부를 손쉽게 판단할 수 있습니다.확인 결과의 두 가지 경우Case 1: 데이터베이스가 실제로 존재하는 경우입니다. 이때 해당 데이터베이스가 위치한 특정 인덱스 값이 반환됩니다.Case 2: 데이터베이스가 존재하지 않는 경우입니다. 이때는 인덱스 값으로 -1이 반환됩니다.참고: 인덱스는 배열과 마찬가지로 0부터 시작하여 (N-1)까지 이어집니다. 따라서 반환된 숫자가 곧 목록 내 데이터베이스의 위

  4. MongoDB에서 $exists 연산자로 특정 필드가 존재하는 문서 조회하는 방법

    MongoDB에서 특정 필드 이름을 기준으로 문서를 조회하려면 $exists 연산자를 사용하면 됩니다. 이 연산자는 지정한 필드가 문서 안에 존재하는지 여부를 판단하여, 조건에 맞는 문서만 반환해 줍니다. 스키마가 유연한 MongoDB의 특성상 문서마다 가지고 있는 필드가 다를 수 있기 때문에, 이런 방식의 조회는 실무에서 매우 자주 활용됩니다.아래 예제를 통해 컬렉션 생성부터 필드 존재 여부 기반 조회까지 단계별로 살펴보겠습니다.1. 컬렉션 생성 및 문서 삽입먼저 findByFieldName이라는 컬렉션을 만들고 테스트용 문서 두

  5. MongoDB에서 Date/ISODate의 구성 요소(연도, 월, 일, 시간) 추출하는 방법

    MongoDB에서 Date/ISODate의 구성 요소 추출하기MongoDB에서 Date 또는 ISODate 값의 개별 구성 요소(연도, 월, 일, 시, 분, 초 등)를 가져오려면 먼저 날짜가 포함된 문서를 컬렉션에 생성해야 합니다. 이 글에서는 실제 예제를 통해 단계별로 확인해 보겠습니다.1. 날짜 필드가 있는 문서 생성먼저 현재 시각을 담은 ShippingDate 필드를 가진 문서를 컬렉션에 삽입합니다.> db.componentOfDateDemo.insert({ShippingDate:new Date()});WriteResul

  6. MongoDB에서 중첩된 값(Nested Value) 조회하기 – 점 표기법 완벽 가이드

    MongoDB에서 중첩된 문서(document) 내부의 특정 값에 접근하려면 점 표기법(dot notation)을 사용하면 됩니다. 이번 글에서는 실제 예제를 통해 중첩된 데이터를 삽입하고, 전체 문서를 확인한 뒤, 조건에 맞는 문서를 검색하는 방법까지 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 중첩된 구조를 가진 문서들을 담은 컬렉션을 생성합니다. 아래 예제에서는 직원 이름(EmployeeName)과 함께 사번, 나이, 회사명 등의 상세 정보를 담은 하위 문서(EmployeeDetails)를 포함하는 문서 두 개를 in

  7. MongoDB에서 특정 필드의 값만 반환하는 방법

    MongoDB에서 필드 값만 추출하는 방법MongoDB에서 특정 필드의 값만 반환하고 싶다면, 쿼리를 작성한 후 forEach 루프를 활용하면 됩니다. 일반적인 find() 메서드는 도큐먼트 전체를 반환하기 때문에, 원하는 필드 값만 배열에 모으려면 약간의 추가 작업이 필요합니다.먼저 예제로 사용할 컬렉션을 생성하고 도큐먼트를 삽입해 보겠습니다.> db.returnOnlyValueOfFieldDemo.insertOne({ClientName:Larry}); { acknowledged : true, insertedId

  8. MongoDB에서 빈 데이터와 null 값 처리하기 – $ne 연산자 활용법

    MongoDB에서는 데이터가 존재하지 않는 상황이 여러 가지 형태로 나타납니다. 필드 자체가 아예 없는 경우, 값이 null로 저장된 경우, 그리고 빈 문자열()이 들어간 경우가 대표적입니다. 이처럼 선택적(optional)으로 입력되는 데이터를 효과적으로 처리하려면 $ne 연산자를 활용하면 됩니다.테스트용 컬렉션 생성먼저 세 가지 형태의 빈 데이터를 모두 포함하는 컬렉션을 만들어 보겠습니다. 아래 쿼리는 학생 이름은 있지만 국가 이름(StudentCountryName)이 각각 빈 문자열, null, 그리고 아예 없는 세 개의 문서

  9. MongoDB 명령줄로 컬렉션(테이블)에 연결하고 데이터를 조회하는 방법

    MongoDB는 관계형 데이터베이스의 테이블과 달리 컬렉션(Collection)이라는 개념을 사용합니다. 따라서 명령줄(mongo 셸)에서 특정 테이블, 즉 컬렉션에 접근하려면 db 명령어를 활용해야 합니다.기본 문법컬렉션에 연결하여 데이터를 조회하는 기본적인 방법은 다음과 같습니다.db.yourCollectionName.find();find() 메서드는 해당 컬렉션의 모든 문서를 반환합니다. 이제 실제 예제를 통해 단계별로 살펴보겠습니다.1단계: 데이터베이스 선택 및 확인예제에서는 여러 컬렉션을 포함하고 있는 sample 데이터베

  10. MongoDB에서 날짜가 포함된 문서를 삽입하는 방법

    MongoDB에서 날짜 정보가 포함된 문서를 삽입하려면 Date() 함수를 사용하면 됩니다. 날짜 필드는 BSON Date 타입으로 저장되며, ISODate 형식으로 표시됩니다.기본 문법yourFieldName: new Date(yourDateValue);날짜가 포함된 컬렉션 생성하기먼저 날짜 필드를 가진 문서들을 컬렉션에 삽입해 보겠습니다. insertOne() 메서드를 사용하여 다음과 같이 작성할 수 있습니다.> db.insertDocumentWithDateDemo.insertOne({UserName:Larry,UserMe

  11. MongoDB에서 여러 ID를 한 번에 삭제하는 방법 ($in 연산자 활용)

    MongoDB에서 여러 개의 _id를 한 번에 삭제하려면 $in 연산자를 사용하면 됩니다. $in 연산자는 배열로 지정된 값들과 일치하는 모든 문서를 대상으로 작업을 수행하기 때문에, 특정 문서 여러 개를 동시에 삭제할 때 매우 유용합니다.기본 문법db.컬렉션명.remove({ _id : { $in: [ObjectId1, ObjectId2, ObjectId3] } });예제용 컬렉션 생성먼저 실습에 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.> db.deleteMultipleIdsDemo.insertOne({ClientN

  12. MongoDB에서 특정 문자열과 일치하는 컬렉션 전체 삭제하는 방법

    MongoDB에서 특정 문자열과 일치하는 컬렉션 일괄 삭제하기MongoDB에서 이름이 특정 문자열과 일치하는 컬렉션을 여러 개 한 번에 삭제해야 할 때가 있습니다. 이럴 때는 for 루프로 데이터베이스의 모든 컬렉션을 순회하면서 조건에 맞는 컬렉션 이름을 찾은 뒤, drop() 메서드를 호출하면 됩니다.아래 예시에서는 sample이라는 데이터베이스를 사용합니다.1단계: 현재 컬렉션 목록 확인먼저 sample 데이터베이스에 어떤 컬렉션이 있는지 확인해 보겠습니다.> show collections;실행하면 다음과 같은 컬렉션 목록

  13. Mongo 셸로 MongoDB에 Date() 삽입하는 방법

    Mongo 셸에서 Date() 삽입하기Mongo 셸(mongo shell)을 통해 MongoDB에 Date() 값을 삽입하려면 먼저 날짜 변수를 생성한 뒤, 이를 도큐먼트의 필드 값으로 지정하는 방식을 사용합니다.기본 문법var yourVariableName = new Date(year, month, day, hour, minute); db.yourCollectionName.insertOne({yourDateFieldName: yourVariableName});참고: 자바스크립트의 Date 객체에서 월(month)은 0부터 시작합니

  14. MongoDB에서 필드 값에 관계없이 특정 필드가 존재하는 모든 문서를 조회하는 방법

    MongoDB에서 어떤 필드의 값이 무엇이든 상관없이 그 필드 자체가 존재하는 모든 문서를 조회하려면 $exists 연산자를 사용하면 됩니다. 이 연산자는 필드의 실제 값을 비교하는 것이 아니라, 문서 안에 해당 필드가 존재하는지 여부만 검사합니다.$exists 연산자 기본 문법db.yourCollectionName.find({yourFieldName:{$exists:true}});예제 컬렉션 생성먼저 테스트용 컬렉션을 만들고 문서를 삽입해 보겠습니다. 아래 예제에는 StudentAge 필드가 null이거나 빈 문자열()인 문서도

  15. MongoDB에서 null 또는 빈 값이 아닌 문서 조회하기 – $nin 연산자 완벽 가이드

    MongoDB에서 특정 필드가 null이 아니고 빈 문자열()도 아닌 문서만 조회하고 싶다면 $nin 연산자를 사용하는 것이 가장 간단한 방법입니다. $nin은 not in의 약자로, 지정한 배열에 포함된 값과 일치하지 않는 문서를 반환합니다.$nin 연산자 기본 문법필드 값이 null 또는 빈 문자열이 아닌 문서를 찾으려면 다음과 같이 쿼리를 작성합니다.db.yourCollectionName.find({yourFieldName:{$nin:[null,]}});예제 컬렉션 생성하기실습을 위해 여러 상태의 UserName 필드(정상 값

  16. MongoDB 배열의 특정 인덱스에 요소 삽입하는 방법 ($push, $each, $position)

    MongoDB에서 배열의 특정 인덱스 위치에 새로운 요소를 삽입하려면 $push 연산자와 함께 $each, $position 수정자를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 단계별로 살펴보겠습니다.1. 테스트용 컬렉션 생성먼저 문서가 포함된 컬렉션을 생성합니다.> db.insertToSpecificIndexDemo.insertOne({StudentName:Larry,StudentSubjects:[MySQL,Java]}); { acknowledged : true, insertedId : ObjectId(5

  17. MongoDB에서 ID로 여러 문서 조회하기 – $in 연산자 완벽 가이드

    네, MongoDB에서 _id 값을 기준으로 여러 문서를 한 번에 조회할 수 있습니다. 이때 사용하는 것이 바로 $in 연산자입니다. $in 연산자는 배열 형태로 여러 개의 ID 값을 전달받아, 해당 목록에 포함된 모든 문서를 반환합니다.기본 구문db.yourCollectionName.find({_id:{$in:[yourValue1,yourValue2,yourValue3,...N]}});배열 안에 원하는 만큼의 ID 값을 나열하면 되며, MongoDB는 해당 조건과 일치하는 문서만 효율적으로 찾아줍니다.예제 준비: 샘플 컬렉션 생성

  18. MongoDB에서 두 필드의 문자열을 세 번째 필드로 연결하는 방법

    MongoDB에서 두 필드의 문자열을 하나로 합치기MongoDB에서 두 개의 필드에 저장된 문자열 값을 이어 붙여 새로운 필드를 만들고 싶다면 aggregate() 메서드와 $concat 연산자를 함께 사용하면 됩니다. 예를 들어 이름(first name)과 성(last name)이 각각 다른 필드로 나뉘어 있을 때, 이를 하나의 전체 이름(full name) 필드로 합칠 수 있습니다.기본 문법두 필드의 문자열을 세 번째 필드로 연결하는 기본적인 쿼리 형식은 다음과 같습니다.db.yourCollectionName.aggregate(

  19. 대량의 데이터 삭제 후 MongoDB 저장 공간 줄이는 방법 – repairDatabase() 활용법

    대량의 데이터를 삭제한 후에도 MongoDB의 디스크 저장 공간은 자동으로 반환되지 않습니다. 삭제된 데이터가 차지하던 공간은 내부적으로 재사용될 뿐, 운영체제 수준에서 실제 용량이 줄어들지 않기 때문입니다. 이럴 때 repairDatabase() 명령을 사용하면 불필요한 공간을 회수하여 저장 용량을 줄일 수 있습니다.먼저 현재 사용 중인 데이터베이스가 무엇인지 확인해 보겠습니다. 여기서는 test 데이터베이스를 사용한다고 가정합니다.> db;위 쿼리를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.Test대량의 데이터

  20. MongoDB Aggregation으로 배열의 첫 번째 요소 가져오는 방법

    MongoDB에서 배열 필드의 첫 번째 요소만 추출하고 싶을 때가 있습니다. 이때 $unwind 연산자와 $project 연산자를 함께 사용하면 간단하게 해결할 수 있습니다. 이 글에서는 실제 예제를 통해 배열의 첫 번째 요소를 가져오는 방법을 단계별로 살펴보겠습니다.1. 샘플 컬렉션 생성하기먼저 테스트에 사용할 컬렉션을 만들고 문서를 삽입하겠습니다. 다음은 학생 이름과 수강 과목 배열을 저장하는 예제입니다.> db.getFirstElementInArrayDemo.insertOne({StudentName:John,Student

Total 1351 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:57/68  20-컴퓨터/Page Goto:1 51 52 53 54 55 56 57 58 59 60 61 62 63