Bagikan melalui


Menyambungkan ke Azure DocumentDB menggunakan MongoDB Shell

MongoDB Shell (mongosh) adalah lingkungan JavaScript dan Node.js untuk berinteraksi dengan penyebaran MongoDB. Ini adalah alat komunitas populer untuk menguji kueri dan berinteraksi dengan data di kluster Azure DocumentDB Anda. Artikel ini menjelaskan cara menyambungkan ke kluster Azure DocumentDB menggunakan MongoDB Shell.

Prasyarat

  • Langganan Azure

    • Jika Anda tidak memiliki langganan Azure, buat akun gratis
  • Kluster Azure DocumentDB yang sudah ada

Mendapatkan kredensi kluster

Dapatkan string koneksi yang Anda butuhkan untuk terhubung ke kluster ini.

  1. Masuk ke portal Microsoft Azure (https://portal.azure.com).

  2. Navigasikan ke kluster Azure DocumentDB yang ada.

Dapatkan kredensial yang Anda gunakan untuk menyambungkan ke kluster.

  1. Pada halaman kluster, pilih opsi String koneksi di menu sumber daya.

  2. Di bagian String koneksi , salin atau rekam nilai dari bidang String koneksi .

Cuplikan layar memperlihatkan opsi string koneksi.

Penting

String koneksi di portal tidak menyertakan nilai kata sandi. Anda harus mengganti <password> tempat penampung dengan kredensial yang Anda masukkan saat membuat kluster atau memasukkan kata sandi secara interaktif.

Sambungkan dengan autentikasi interaktif berbasis kata sandi

Sambungkan ke kluster Anda dengan menggunakan MongoDB Shell dengan string koneksi yang tidak menyertakan kata sandi. Gunakan perintah kata sandi interaktif untuk memasukkan kata sandi Anda sebagai bagian dari langkah-langkah koneksi.

  1. Buka terminal.

  2. Sambungkan dengan memasukkan kata sandi di prompt MongoDB Shell. Untuk langkah ini, gunakan string koneksi tanpa kata sandi.

    mongosh "mongodb+srv://<username>@<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
    
  3. Setelah Anda memberikan kata sandi dan berhasil diautentikasi, amati peringatan yang muncul

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

    Petunjuk / Saran

    Anda dapat dengan aman mengabaikan peringatan ini. Peringatan ini dihasilkan karena string koneksi berisi cosmos.azure. Azure DocumentDB adalah penawaran platform as a service (PaaS) Azure asli.

  4. Keluar dari konteks shell.

Hubungkan dengan string koneksi dan kata sandi

Sekarang, sambungkan ke kluster Anda dari MongoDB Shell dengan string koneksi dan parameter yang menyertakan kata sandi.

  1. Sambungkan dengan menggunakan string koneksi dan argumen --username serta --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. Setelah Anda memberikan kata sandi dan berhasil diautentikasi, amati peringatan yang muncul.

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

    Petunjuk / Saran

    Anda dapat dengan aman mengabaikan peringatan ini. Peringatan ini dihasilkan karena string koneksi berisi cosmos.azure. Azure DocumentDB adalah penawaran platform as a service (PaaS) Azure asli.

Melakukan kueri pengujian

Verifikasi bahwa Anda berhasil tersambung ke kluster dengan melakukan serangkaian perintah dan kueri pengujian.

  1. Periksa status koneksi Anda dengan menjalankan connectionStatus perintah .

    db.runCommand({connectionStatus: 1})
    
    {
      ...
      ok: 1
    }
    
  2. Cantumkan database di kluster Anda.

    show dbs
    
  3. Beralih ke database tertentu. "Gantikan tempat penampung <database-name> dengan nama database apa pun di kluster Anda."

    use <database-name>
    

    Petunjuk / Saran

    Misalnya, jika nama database adalah inventory, maka perintahnya adalah use inventory.

  4. Mencantumkan koleksi dalam database.

    show collections
    
  5. Temukan lima item pertama dalam koleksi tertentu. Ganti placeholder <collection-name> dengan nama koleksi apa pun di kluster Anda.

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

    Petunjuk / Saran

    Misalnya, jika nama koleksi adalah equipment, maka perintahnya adalah db.equipment.find().limit(5).