MongoDBMongoDB 시작하기

비고

  • 모바일 응용 프로그램이 시장에 출시 된 이후 세계의 데이터가 엄청나게 증가하기 시작했습니다. 이 엄청난 양의 데이터는 전통적인 관계형 데이터베이스 인 SQL로 처리하는 것이 거의 불가능하게되었습니다. NoSQL 데이터베이스는 각 데이터에 대해 가변 개수의 열과 같이 더 많은 유연성이 제공되는 데이터를 처리하기 위해 도입되었습니다.
  • MongoDB는 최고의 NoSQL 데이터베이스 중 하나입니다. 각 컬렉션에는 여러 JSON 문서가 들어 있습니다. JSON 문서에서 표현할 수있는 모든 데이터 모델은 MongoDB에 쉽게 저장 될 수 있습니다.
  • MongoDB는 서버 - 클라이언트 데이터베이스입니다. 서버는 일반적으로 이진 파일로 실행 mongod 및 클라이언트와 함께 실행 mongo .
  • 다양한 철학적 및 실용적인 이유로 v.3.2 이전에는 MongoDB에 조인 작업이 없습니다. 그러나 Mongo 쉘은 javascript를 지원하므로 $ lookup을 사용할 수없는 경우 삽입하기 전에 javascript의 문서에 대한 결합 작업을 시뮬레이션 할 수 있습니다.
  • 프로덕션 환경에서 인스턴스를 실행하려면 Operations Checklist 를 따르는 것이 좋습니다.

버전

번역 출시일
3.4 2016-11-29
3.2 2015-12-08
3.0 2015-03-03
2.6 2014-04-08
2.4 2013-03-19
2.2 2012-08-29
2.0 2011-09-12
1.8 2011-03-16
1.6 2010-08-31
1.4 2010-03-25
1.2 2009-12-10

설치

MongoDB를 설치하려면 다음 단계를 따르십시오.

  • Mac OS의 경우 :

    • Mac OS에는 수동 설치 또는 자작 (homebrew)의 두 가지 옵션이 있습니다.
    • homebrew로 설치 :
      • 터미널에 다음 명령을 입력하십시오.
        $ brew install mongodb
        
    • 수동 설치 :
      • 최신 릴리스를 여기에서 다운로드 하십시오 . 적절한 파일을 다운로드했는지 확인하고 운영 체제 유형이 32 비트인지 64 비트인지 확인하십시오. 다운로드 한 파일의 형식은 tgz 입니다.

      • 이 파일이 다운로드 된 디렉토리로 이동하십시오. 그런 다음 다음 명령을 입력하십시오.

        $ tar xvf mongodb-osx-xyz.tgz
        

        xyz 대신 몇 가지 버전 및 시스템 유형 정보가 있습니다. 추출 된 폴더는 tgz 파일과 동일한 이름입니다. 폴더 내부 하위 폴더 이름을 자신의 것 bin 과 함께 여러 바이너리 파일을 포함 할 mongodmongo .

      • 기본적으로 서버는 /data/db 폴더에 데이터를 보관합니다. 그래서, 우리는 그 디렉토리를 생성하고 다음 명령을 갖는 서버를 실행해야합니다 :

        $ sudo bash
        # mkdir -p /data/db
        # chmod 777 /data
        # chmod 777 /data/db
        # exit
        
      • 서버를 시작하려면 현재 위치에서 다음 명령을 제공해야합니다.

        $ ./mongod
        

        기본적으로 포트 27017에서 서버를 시작합니다.

      • 클라이언트를 시작하려면 이전과 동일한 디렉토리를 갖는 새 터미널을 열어야합니다. 다음 명령은 클라이언트를 시작하고 서버에 연결합니다.

        $ ./mongo
        

        기본적으로 test 데이터베이스에 연결됩니다. connecting to: test 것과 같은 줄이 보이는 경우 connecting to: test . 그런 다음 MongoDB를 성공적으로 설치했습니다. 축하해! 이제 Hello World 를 테스트하여 자신감을 높일 수 있습니다.

  • Windows의 경우 :

    • 최신 릴리스를 여기에서 다운로드 하십시오 . 적절한 파일을 다운로드했는지 확인하고 운영 체제 유형이 32 비트인지 64 비트인지 확인하십시오.

    • 다운로드 한 바이너리 파일의 확장자는 exe 입니다. 그것을 실행하십시오. 설치 마법사가 프롬프트됩니다.

    • 다음을 클릭하십시오.

    • 라이센스 계약에 동의하고 다음을 클릭합니다.

    • 전체 설치를 선택 하십시오 .

    • 설치를 클릭하십시오. 관리자의 허가를 묻는 창이 열릴 수도 있습니다. 예를 클릭하십시오.

    • 설치 후 마침을 클릭하십시오.

    • 이제 mongodb는 C:/Program Files/MongoDB/Server/3.2/bin 경로에 설치됩니다. 버전 3.2 대신에 다른 버전이있을 수 있습니다. 그에 따라 경로 이름이 변경됩니다.

    • bin 디렉토리와 함께 여러 이진 파일이 포함 mongodmongo . 다른 폴더에서 실행하려면 시스템 경로에 경로를 추가하십시오. 그것을하기 위해서 :

      • 내 컴퓨터를 마우스 오른쪽 단추로 클릭하고 속성을 선택하십시오.
      • 왼쪽 창에서 고급 시스템 설정 을 클릭하십시오.
      • 고급 탭에서 환경 변수 ...를 클릭하십시오.
      • 시스템 변수 섹션에서 경로 를 선택하고 편집 ...을 클릭하십시오.
      • Windows 10 이전에는 세미콜론을 추가하고 위에서 주어진 경로를 붙여 넣으십시오. Windows 10에서 새 경로를 추가하는 단추가 있습니다.
      • 확인을 클릭하여 변경 사항을 저장합니다.
    • 이제 db 라는 하위 폴더가있는 data 라는 폴더를 만들고 서버를 실행합니다.

    • 해당 명령 프롬프트를 시작하십시오. cmd에서 경로를 변경하거나 Shift 키와 Ctrl 키를 동시에 눌러 폴더 GUI의 빈 공간을 마우스 오른쪽 버튼으로 클릭 한 후 표시되는 명령 창 열기를 클릭 하십시오 .

    • 서버를 시작하기위한 명령을 작성하십시오.

      > mongod
      

      기본적으로 포트 27017에서 서버를 시작합니다.

    • 다른 명령 프롬프트를 열고 다음을 입력하여 클라이언트를 시작하십시오.

      > mongo
      
    • 기본적으로 test 데이터베이스에 연결됩니다. connecting to: test 것과 같은 줄이 보이는 경우 connecting to: test . 그런 다음 MongoDB를 성공적으로 설치했습니다. 축하해! 이제 Hello World 를 테스트하여 자신감을 높일 수 있습니다.

  • Linux의 경우 : Mac OS와 거의 동일하지만 일부 명령이 필요합니다.

    • 데비안 기반 배포판 ( apt-get ) :
      • MongoDB 저장소 키를 가져옵니다.

        $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
        gpg: Total number processed: 1\
        gpg:               imported: 1  (RSA: 1)
        
      • 우분투 패키지 목록에 저장소 추가 16.04 .

        $ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
        
      • 우분투 14.04에서 .

        $ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
        
      • 패키지 목록을 업데이트하십시오.

        $ sudo apt-get update
        
      • MongoDB를 설치하십시오.

        $ sudo apt-get install mongodb-org
        
    • Red Hat 기반 배포판의 경우 ( yum 사용) :
      • 당신이 선호하는 텍스트 편집기를 사용하십시오.

        $ vi /etc/yum.repos.d/mongodb-org-3.4.repo

      • 다음 텍스트를 붙여 넣습니다.

        [mongodb-org-3.4]
        name=MongoDB Repository
        baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
        gpgcheck=1
        enabled=1
        gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
        
      • 패키지 목록을 업데이트하십시오.

        $ sudo yum update
        
      • MongoDB 설치

        $ sudo yum install mongodb-org
        

안녕하세요 세계

설치가 끝나면 mongo shell (클라이언트 터미널)에 다음 줄을 입력해야합니다.

> db.world.insert({ "speech" : "Hello World!" });
> cur = db.world.find();x=cur.next();print(x["speech"]);

안녕하세요!

설명:

  • 첫 번째 줄에는 기본 데이터베이스 testworld 라는 컬렉션에 { key : value } 연결된 문서가 삽입되었습니다.
  • 두 번째 줄에서는 방금 삽입 한 데이터를 검색합니다. 검색된 데이터는 cur 라는 javascript 변수에 보관됩니다. 그런 next() 함수를 사용하여 첫 번째이자 유일한 문서를 가져 와서 x 라는 다른 js 변수에 보관했습니다. 그런 다음 키를 제공하는 문서의 값을 인쇄합니다.

보완 조항

SQL 용어 MongoDB 이용 약관
데이터 베이스 데이터 베이스
수집
개체 / 행 문서
기둥 키 / 필드
표 결합 임베디드 문서
기본 키 기본 키 (mongodb 자체에서 제공하는 기본 키 _id )

MongoDB에서 JavaScript 파일 실행

./mongo localhost:27017/mydb myjsfile.js

설명 :이 작업은 실행 myjsfile.js A의 스크립트 mongo 에 연결 쉘 mydb 상의 데이터베이스 mongod 바이어 접근 할 경우 localhost 포트에 인터페이스 27017 . localhost:27017mongodb 사용하는 기본 포트이므로 필수는 아닙니다.

또한 mongo 콘솔에서 .js 파일을 실행할 수 있습니다.

>load("myjsfile.js")

쉘에서 읽을 수있는 검색 결과를 출력하기

다음 세 가지 레코드를 수집 테스트에 추가합니다.

> db.test.insert({"key":"value1","key2":"Val2","key3":"val3"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value2","key2":"Val21","key3":"val31"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value3","key2":"Val22","key3":"val33"})
WriteResult({ "nInserted" : 1 })

우리가 찾기를 통해 그들을 볼 경우, 그들은 매우 못생긴 보일 것입니다.

> db.test.find()
{ "_id" : ObjectId("5790c5cecae25b3d38c3c7ae"), "key" : "value1", "key2" : "Val2
", "key3" : "val3" }
{ "_id" : ObjectId("5790c5d9cae25b3d38c3c7af"), "key" : "value2", "key2" : "Val2
1", "key3" : "val31" }
{ "_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"), "key" : "value3", "key2" : "Val2
2", "key3" : "val33" }

이 문제를 해결하고 읽을 수있게하려면 pretty () 함수를 사용하십시오.

> db.test.find().pretty()
{
        "_id" : ObjectId("5790c5cecae25b3d38c3c7ae"),
        "key" : "value1",
        "key2" : "Val2",
        "key3" : "val3"
}
{
        "_id" : ObjectId("5790c5d9cae25b3d38c3c7af"),
        "key" : "value2",
        "key2" : "Val21",
        "key3" : "val31"
}
{
        "_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"),
        "key" : "value3",
        "key2" : "Val22",
        "key3" : "val33"
}
>

몽고 셸 기본 명령

사용 가능한 모든 데이터베이스 표시 :

show dbs;

액세스 할 특정 데이터베이스를 선택하십시오 (예 : mydb . 이미 존재하지 않으면 mydb 가 생성됩니다 :

use mydb;

데이터베이스에 모든 콜렉션을 표시하십시오. 먼저 콜렉션을 선택하십시오 (위 참조).

show collections; 

데이터베이스와 함께 사용할 수있는 모든 기능 표시 :

db.mydb.help();

현재 선택한 데이터베이스를 확인하려면 db 명령을 사용하십시오.

> db
mydb

db.dropDatabase() 명령은 기존 데이터베이스를 삭제하는 데 사용됩니다.

db.dropDatabase()