다음을 통해 공유


MongoDB 셸을 사용하여 Azure DocumentDB에 연결

MongoDB 셸(mongosh)은 MongoDB 배포와 상호 작용하기 위한 JavaScript 및 Node.js 환경입니다. 쿼리를 테스트하고 Azure DocumentDB 클러스터의 데이터와 상호 작용하는 데 널리 사용되는 커뮤니티 도구입니다. 이 문서에서는 MongoDB 셸을 사용하여 Azure DocumentDB 클러스터에 연결하는 방법을 설명합니다.

필수 조건

  • Azure 구독

  • 기존 Azure DocumentDB 클러스터

  • MongoDB 셸. 자세한 내용은 MongoDB 셸 설치를 참조하세요.

  • 클라이언트가 클러스터에 연결할 수 있도록 하는 방화벽 규칙입니다. 자세한 내용은 방화벽 구성을 참조하세요.

클러스터 자격 증명 가져오기

이 클러스터에 연결하는 데 필요한 연결 문자열을 가져옵니다.

  1. Azure Portal(https://portal.azure.com)에 로그인합니다.

  2. 기존 Azure DocumentDB 클러스터로 이동합니다.

클러스터에 연결하는 데 사용하는 자격 증명을 가져옵니다.

  1. 클러스터 페이지의 리소스 메뉴에서 연결 문자열 옵션을 선택합니다.

  2. 연결 문자열 섹션에서 연결 문자열 필드의 값을 복사하거나 기록합니다.

연결 문자열 옵션을 보여 주는 스크린샷

중요합니다

포털의 연결 문자열에는 암호 값이 포함되지 않습니다. 자리 표시자를 클러스터를 <password> 만들 때 입력한 자격 증명으로 바꾸거나 대화형으로 암호를 입력해야 합니다.

대화형 암호 인증을 사용하여 연결

암호를 포함하지 않는 연결 문자열과 함께 MongoDB 셸을 사용하여 클러스터에 연결합니다. 대화형 암호 프롬프트를 사용하여 연결 단계의 일부로 암호를 입력합니다.

  1. 터미널을 엽니다.

  2. MongoDB 셸 프롬프트에 암호를 입력하여 연결합니다. 이 단계에서는 암호 없이 연결 문자열을 사용합니다.

    mongosh "mongodb+srv://<username>@<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
    
  3. 암호를 제공하고 성공적으로 인증된 후 표시되는 경고를 확인합니다.

    This server or service appears to be an emulation of MongoDB.
    

    팁 (조언)

    이 경고는 무시해도 됩니다. 연결 문자열에 .가 포함되어 있으므로 이 경고가 생성됩니다 cosmos.azure. Azure DocumentDB는 네이티브 Azure PaaS(Platform as a Service) 제품입니다.

  4. 셸 컨텍스트를 종료합니다.

연결 문자열 및 암호로 연결

이제 MongoDB Shell에서 암호가 포함된 연결 문자열 및 매개 변수를 사용하여 클러스터에 연결합니다.

  1. 연결 문자열 및 인수를 --username--password 사용하여 연결합니다.

    mongosh "mongodb+srv://<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000" --username "<username>" -password "<password>"
    
  2. 암호를 입력하고 성공적으로 인증되면 표시되는 경고를 관찰합니다.

    ------
       Warning: Non-Genuine MongoDB Detected
       This server or service appears to be an emulation of MongoDB rather than an official MongoDB product.
    ------
    

    팁 (조언)

    이 경고는 무시해도 됩니다. 연결 문자열에 .가 포함되어 있으므로 이 경고가 생성됩니다 cosmos.azure. Azure DocumentDB는 네이티브 Azure PaaS(Platform as a Service) 제품입니다.

테스트 쿼리 수행

일련의 테스트 명령 및 쿼리를 수행하여 클러스터에 성공적으로 연결되었는지 확인합니다.

  1. 명령을 실행하여 연결 상태를 확인합니다 connectionStatus .

    db.runCommand({connectionStatus: 1})
    
    {
      ...
      ok: 1
    }
    
  2. 클러스터의 데이터베이스를 나열합니다.

    show dbs
    
  3. 특정 데이터베이스로 전환합니다. <database-name> 자리 표시자를 클러스터에 있는 모든 데이터베이스의 이름으로 바꿉 있습니다.

    use <database-name>
    

    팁 (조언)

    예를 들어 데이터베이스 이름이 inventory면 명령 use inventory이 됩니다.

  4. 데이터베이스 내의 컬렉션을 나열합니다.

    show collections
    
  5. 특정 컬렉션 내에서 처음 5개 항목을 찾습니다. <collection-name> 자리 표시자를 클러스터의 컬렉션 이름으로 대체하세요.

    db.<collection-name>.find().limit(5)
    

    팁 (조언)

    예를 들어 컬렉션 이름이 equipment면 명령 db.equipment.find().limit(5)이 됩니다.