초보자를 위한 MongoDB 튜토리얼: 간단한 단계로 MongoDB 배우기

게시 됨: 2022-08-31

MongoDB는 문서 데이터베이스이자 오픈 소스로 제공되는 최고의 NoSQL 데이터베이스입니다. C++로 작성되었으며 대용량 데이터 저장, 콘텐츠 관리 및 전달, 모바일 및 소셜 인프라, 사용자 데이터 관리 등에 사용되는 문서 지향 NoSQL 데이터베이스입니다.

계층적 관계를 나타낼 수 있는 데이터 모델로 구성됩니다. 선택적 스키마가 있는 JSON과 유사한 문서에 의존하며 기존 관계형 데이터베이스에서 사용되는 행과 테이블을 사용하지 않습니다. 키-값 쌍이 있는 문서는 MongoDB에서 데이터의 기본 단위입니다.

MongoDB는 데이터를 JSON 형식으로 저장합니다. 높은 수요는 주로 모든 속성에 대한 인덱스, 복제 및 고가용성, 자동 샤딩, 풍부한 쿼리, 빠른 인플레이스 업데이트 및 풍부한 커뮤니티 지원을 기반으로 합니다. mongodb 쿼리 튜토리얼을 살펴보겠습니다.

목차

몽고DB 기능

이 데이터 지향 데이터베이스의 유용성은 Mongo DB의 특정 통합 기능에 따라 다릅니다.

  • 각 데이터베이스는 문서를 추가로 포함하는 컬렉션으로 구성됩니다. 이러한 문서와 해당 크기 및 내용은 필드 수에 따라 다를 수 있습니다.
  • 문서 구조는 개발자가 프로그램에서 클래스와 개체를 빌드하는 방법을 기반으로 합니다.
  • 이동 중에 필드를 생성할 수 있으므로 행에는 미리 정의된 스키마가 필요하지 않습니다.
  • MongoDB 데이터 모델을 사용하면 배열 및 기타 복잡한 구조를 저장하기 위한 계층적 관계를 나타낼 수 있습니다.
  • MongoDB 환경은 확장성이 뛰어납니다.
  • 응용 프로그램 개체를 데이터베이스 개체로 변환하거나 매핑할 필요가 없습니다.
  • 내부 메모리는 데이터에 더 쉽게 액세스할 수 있는 창 작업 세트를 저장합니다.
  • 단일 개체의 구조가 명확합니다.
  • 복잡한 조인이 없습니다.
  • 심층 쿼리 기능은 문서에 대한 동적 쿼리를 지원합니다.

또한 데이터 과학 과정을 확인하여 자신의 기술을 향상시키십시오.

MongoDB 및 RDBMS에 대해 알아야 할 사항

MongoDB는 고성능, 효과적인 확장성 및 고가용성을 제공하는 문서 중심의 크로스 플랫폼 데이터베이스입니다. Document 및 Collection을 기반으로 작동합니다. MongoDB의 모든 데이터베이스에는 고유한 파일 집합이 있으며 이상적으로 단일 MongoDB 서버에는 수많은 데이터베이스가 있습니다.

반면에 Collection은 RDBMS 테이블에 해당하는 MongoDB 문서 그룹입니다. 단일 데이터베이스 내부에 존재하며 스키마를 적용하지 않습니다. 컬렉션 내의 문서는 다양한 필드를 가질 수 있으며 컬렉션 내의 모든 문서는 관련되거나 유사한 목적을 갖습니다. 키-값 쌍의 집합을 동적 스키마가 있는 문서라고 하며, 여기서 동일한 컬렉션의 문서는 동일한 구조 또는 필드 집합을 가질 필요가 없습니다.

다음 표에서 RDBMS 용어와 MongoDB의 관계를 확인할 수 있습니다.

RDBMS 몽고DB
데이터 베이스 데이터 베이스
튜플 문서
테이블 수집
테이블 조인 포함된 문서
필드
기본 키 기본 키(MongoDB는 기본 키 _id 제공)
데이터베이스 서버 및 클라이언트
mysqld/오라클 몽고
mysql/sqlplus 몽고

MongoDB와 SQL 데이터베이스의 차이점

MongoDB는 SQL보다 유연하고 더 나은 데이터 가용성을 제공합니다. 또한 휴대 및 확장이 가능합니다. SQL 데이터베이스는 내구성과 일관성으로 유명합니다. 따라서 최상의 데이터베이스 솔루션은 관련된 프로젝트의 종류에 따라 다릅니다.

MongoDB는 개발 파이프라인에 더 적합하고 SQL 데이터베이스는 안정적인 조직 데이터 트랜잭션에 적합합니다. MongoDB는 구조화되지 않은 데이터를 처리하고 작업하는 데 적합합니다. 이 NoSQL 데이터베이스는 실시간 분석과 같은 애플리케이션 및 데이터 파이프라인 공급을 위한 최상의 대안 중 하나입니다.

MongoDB는 IoT 장치 및 모바일/웹 애플리케이션 작업에 적합합니다. 유연성과 원활하게 확장할 수 있는 기능으로 인해 전 세계 개발자들이 빠르게 선호하는 선택이 되고 있습니다.

SQL 데이터베이스는 구조화된 데이터, 데이터 과학 및 고급 조직 작업에 적합하지만 MongoDB는 소프트웨어 또는 온라인 서비스의 효과적인 개발을 통해 현대 개발자 및 비즈니스의 요구 사항을 충족합니다.

MongoDB 사용 방법의 예

중첩 데이터 구조 저장

문서 내에서 개체를 중첩하는 기능은 MongoDB의 가장 큰 기능 중 하나입니다. 문서 내부에 데이터를 포함하기 위해 개발자는 데이터를 다양한 컬렉션으로 분리하는 대신 MongoDB에서 데이터를 구조화합니다.

다음은 예입니다.

{_id: ObjectId("5effaa5662679b5af2c58829"),

이메일: “[email protected]”,

이름: {명시: "릴리", 가족: "모나"},

나이: 31세,

주소: [{라벨: "집",

거리: "22 1b Baker Street",

도시: "런던",

상태: "ENG",

zip: "NW1 6XE",

국가: "영국"},

{라벨: "엄마",

거리: "555 파크 스트리트",

도시: "레이크 타운",

주: "온타리오",

국가: "캐나다"}]

}

이름 필드는 하나의 배열에 여러 주소가 저장되어 있는 주소 필드에 주어진 이름과 성 구성 요소를 포함하는 중첩 객체입니다. 각 주소에는 다른 데이터 유형을 쉽게 저장할 수 있도록 다양한 필드가 있을 수 있습니다.

MongoDB 셸 사용

MongoDB 셸은 주로 문서 데이터를 탐색, 조작 및 검사하는 데 사용됩니다. MongoDB가 로컬 머신에서 실행될 때 셸을 실행하면 표준 포트의 localhost에 있는 MongoDB에 연결됩니다. MongoDB Atlas 클러스터 또는 다른 원격 인스턴스에 연결해야 하는 경우 mongo 명령 뒤에 연결 문자열을 추가해야 합니다.

아래에서 빠른 셸 예제를 찾을 수 있습니다.

컬렉션 나열

> my_database를 사용하십시오.

> 컬렉션을 보여줍니다.

사용자

게시물

>

데이터베이스 나열

> db를 보여줍니다.

관리자 0.000GB

구성 0.000GB

로컬 0.000GB

my_database 0.004GB

>

인기 있는 데이터 과학 과정 살펴보기

IIITB의 데이터 과학 대학원 대학원 프로그램 비즈니스 의사 결정을 위한 데이터 과학 전문 인증 프로그램 애리조나 대학교 데이터 과학 석사
IIITB의 데이터 과학 고급 인증 프로그램 메릴랜드 대학교 데이터 과학 및 비즈니스 분석 전문 자격증 프로그램 데이터 과학 과정

컬렉션에서 첫 번째 문서 찾기

> db.users.findOne()

{

"_id": ObjectId("5ce45d7606444f199acfba1e"),

"이름": {명시: "안나", 가족: "스미스"},

"이메일": "[email protected]"

"나이": 36

}

>

컬렉션의 문서 계산

> my_database를 사용하십시오.

> db.users.count()

20234

>

ID로 문서 찾기

> db.users.findOne({_id: ObjectId(“5ce45d7606444f199acfba1e”)})

{

"_id": ObjectId("5ce45d7606444f199acfba1e"),

"이름": {명시: "안나", 가족: "스미스"},

"이메일": "[email protected]",

"나이": 36

}

>

MongoDB 컬렉션 쿼리

MongoDB 쿼리 언어(MQL)의 동일한 구문이 고급 쿼리에 사용할 수 있는 문서에 사용됩니다. 아래에서 MongoDB 쿼리 예제를 찾을 수 있습니다.

제한된 수의 결과 찾기

> db.users.find().limit(10)

>

성으로 사용자 찾기

> db.users.find({“이름.패밀리”: “스미스”}).count()

1

>

중간에 점이 있기 때문에 "name.family"를 따옴표로 묶습니다.

숫자 범위로 문서 쿼리

// 숫자 값이 1보다 큰 "좋아요" 필드가 있는 모든 게시물:

> db.post.find({좋아요: {$gt: 1}})

// 좋아요가 0개인 모든 게시물

> db.post.find({좋아요 수: 0})

// 정확히 1개의 좋아요가 없는 모든 게시물

> db.post.find({좋아요: {$ne: 1}})

필드별로 결과 정렬

// 나이를 기준으로 오름차순으로 정렬(가장 작은 값 먼저)

> db.user.find().sort({나이: 1})

{

"_id": ObjectId("5ce45d7606444f199acfba1e"),

"이름": {명시: "알렉스", 가족: "스미스"},

"이메일": "[email protected]",

"나이": 27

}

{

_id: ObjectId("5effaa5662679b5af2c58829"),

이메일: “[email protected]”,

이름: {기명: "Jesse", 가족: "Xiao"},

나이: 31

}

>

// 나이순, 내림차순(가장 큰 값 먼저)

> db.user.find().sort({나이: -1})

{

_id: ObjectId("5effaa5662679b5af2c58829"),

이메일: “[email protected]”,

이름: {기명: "릴리", 가족: "모나"},

나이: 31

}

{

"_id": ObjectId("5ce45d7606444f199acfba1e"),

"이름": {명시: "안나", 가족: "스미스"},

"이메일": "[email protected]",

"나이": 36

}

>

2022년에 배워야 할 최고의 데이터 과학 기술

에스엘. 아니 2022년에 배워야 할 최고의 데이터 과학 기술
1 데이터 분석 코스 추론 통계 과정
2 가설 검증 프로그램 로지스틱 회귀 과정
선형 회귀 과정 분석을 위한 선형 대수학

결론

MongoDB의 확장성은 소프트웨어 개발 및 데이터 과학 분야에서 많은 이점을 제공하기 때문에 가장 광범위하게 사용되는 데이터베이스 중 하나입니다. 이 분야에서 경력을 추구하는 것은 유리한 선택입니다. upGrad의 데이터 과학 이그 제 큐 티브 PG 프로그램은 데이터 과학 및 기타 관련 분야에서 경력을 시작하기에 좋은 곳입니다.

MongoDB가 확장하기 쉬운 이유는 무엇입니까?

MongoDB는 SQL 데이터베이스가 아니기 때문에 MongoDB 내부의 데이터가 관계형으로 연결되지 않기 때문에 확장하기 쉽습니다. MongoDB의 데이터는 이러한 문서를 여러 시스템(노드)에 배포하여 수평 확장을 쉽게 할 수 있는 독립형 형식으로 저장됩니다.

MongoDB와 MariaDB 및 MySQL과 같은 데이터베이스 시스템의 차이점은 무엇입니까?

MongoDB는 NoSQL 데이터베이스이고 MariaDB와 MySQL은 SQL 데이터베이스입니다. 또한 MongoDB는 비관계형 데이터베이스이고 다른 두 데이터베이스는 관계형 데이터베이스입니다.

MongoDB가 인기 있는 이유는 무엇입니까?

MongoDB는 웹 개발에서 MERN 스택의 필수적인 부분입니다. 또한 MongoDB에서 프로젝트를 쉽게 배포하고 확장할 수 있습니다. MongoDB는 확장성으로 유명합니다. 모든 개발 파이프라인에 적합합니다.