분류 전체보기
-
ViewDatabase/MongoDB 2023. 2. 2. 22:36
기본 컬렉션에서 파생하여 생성되는 읽기전용 Collection 으로, Shard나 인덱스에 대하여 기본 컬렉션의 설정과 동기화 됩니다. View 에서 사용가능한 명령 db.collection.find() db.collection.findOne() db.collection.aggregate() db.collection.countDocuments() db.collection.estimatedDocumentCount() db.collection.count() db.collection.distinct()View 의 생성은 다음 형식을 통해 진행됩니다. db.createView(, , , ) Parameter Type Description view string 이름 source string 기반 데이터가 되는 컬..
-
IndexDatabase/MongoDB 2023. 2. 2. 22:35
검색에 대한 속도 개선을 위해 활용합니다. (find, sort 등) Index 는 1 로 설정할 경우 오름차순, -1 로 설정할 경우 내림차순으로 내부정렬합니다. Index는 한 쿼리에 한 index만 유효합니다. 따라서 두 개의 index 가 필요하다면 복합 index를 사용합니다. Index는 어떤 데이터가 도큐먼트에 추가되거나 수정될 때( write 작업 ) 그 컬렉션에 생성되어 있는 index도 새로운 도큐먼트를 포함시켜 수정됩니다. 이로 인하여 index 추가 시 wirte 작업은 느려질 수 있습니다. 따라서 index는 read 작업 위주의 애플리케션에서 유용하고 읽기보다 쓰기 작업이 많으면 index를 추가하는 것은 고려해야 합니다. 일반 검색결과에 대해서 정렬해 주는기능이 아닌 내부적으로..
-
MapReduceDatabase/MongoDB 2023. 2. 2. 22:30
대용량 데이터의 분산처리를 위해 개발된 기술로 맵 형식으로 데이터를 산출하는 기능입니다. 몽고디비의 맵리듀스는 자바스크립트 언어의 문법을 사용하여 구현하며, 분산처리는 단일프로세스 내의 멀티 쓰레드 방식으로 동작합니다. ( SpiderMonkey Engine ) 예시 query 를 통해 가져올 데이터의 조건을 지정 out 을 통해 출력될 collection(order_totals) 을 생성 및 출력 저장 첫번째 Parameter 의 JS Function 을 통해 collection 을 map 형식으로 치환 두번째 Parameter 의 JS Function 을 통해 합산 처리 인자 > db.collection.mapReduce( , { out: ,query: ,sort: ,limit: ,finalize: ..
-
Operator & FunctionDatabase/MongoDB 2023. 2. 1. 20:44
Operator 비교 연산자 Operator Description $eq (equals) 값과 같으면 $gt (greater than) 값보다 크면 $gte (greater than or equals) 값보다 크거나 같으면 $lt (less than) 값보다 작으면 $lte (less than equals) 값보다 작거나 같으면 $ne (not equals) 값과 같지 않으면 $in 배열 안에 속하는 값 $nin 배열 안에 속하지 않는 값 논리 연산자 Operator Description $or 조건중 하나라도 충족하면 $and 조건 모두 충족하면 $not 조건과 같지 않으면 $nor 모든 조건이 맞지 않으면 use function Js 형식의 함수를 구성 및 호출하여 활용할 수 있습니다. JS 포멧의 ..
-
AggregateDatabase/MongoDB 2023. 2. 1. 20:39
Aggregate 란? aggregate는 Pipeline 개념을 모델로 하며 Collection 이나 Database 의 데이터를 가공하는 기능입니다. 각 단계별로 진행을 마친 후 결과를 반환하며, 각 단계는 Stage 라고 명명합니다. Collection Aggregate Stage $out , $merge, $geoNear 는 여러번 사용할 수 있습니다. Stage Description $addFields $set과 동일한 동작을 합니다. Document 에 새 Field 를 추가합니다. $bucket 지정된 표현식 및 버킷 범위설정을 기반으로 수신 문서를 버킷이라고하는 그룹으로 분류합니다. $bucketAuto $bucket 과 동일한 기능을 하지만 범위설정을 하지 않고 사용합니다. 범위는 모든 ..
-
기본 QueryDatabase/MongoDB 2023. 2. 1. 20:29
Adhoc 애드혹(라틴어: Ad hoc 아드 혹[*])은 "이것을 위해" 즉 "특별한 목적을 위해서"라는 뜻의 라틴어로, 일반적으로 다음을 나타냅니다. 특정한 문제나 일을 위해 만들어진 관습적인 해결책 일반화할 수 없는 해결책 어떤 다른 목적에 적응시킬 수 없는 해결책 Adhoc Query 좀 여유롭게,혹은 특정한 형식 없이 사용할 수 있는 쿼리문입니다. Adhoc Query Example $ mongo > use ipron // Database Create > db.createCollection("test") // Collection Create > db.createCollection("book",{capped:true, size:6142800, max:10000}) // Collection Max S..
-
What is MongoDB?Database/MongoDB 2023. 2. 1. 20:20
MongoDB 4.4 를 기준 정리사항입니다. MongoDB 란? 몽고DB(MongoDB)는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템입니다. NoSQL 데이터베이스로 분류되는 몽고DB는 JSON과 같은 동적 스키마형 도큐먼트들(몽고DB는 이러한 포맷을 BSON이라 부름)을 선호함에 따라 전통적인 테이블 기반 관계형 데이터베이스 구조의 사용을 삼가합니다. GPL과 아파치 라이선스를 결합하여 공개된 몽고DB는 자유-오픈 소스 소프트웨어 회사인 10gen (현재의 몽고DB)에서 2007년 10월, 계획된 PaaS(서비스형 플랫폼) 제품의 구성 요소로 처음 개발하였으며 10gen이 상용 지원 및 기타 서비스를 제공한 2009년에 오픈 소스 개발 모델로 전향 몽고DB는 크레이그리스트, 이베이, 포스퀘어, ..