Bagikan melalui


Mulai menggunakan Azure Cosmos DB untuk MongoDB menggunakan JavaScript

BERLAKU UNTUK: MongoDB

Artikel ini memperlihatkan kepada Anda cara menyambungkan ke Azure Cosmos DB untuk MongoDB menggunakan paket npm MongoDB asli. Setelah tersambung, Anda dapat melakukan operasi pada database, kontainer, dan item.

Catatan

Contoh cuplikan kode tersedia di GitHub sebagai proyek JavaScript.

API untuk dokumentasi | referensi MongoDB Paket MongoDB (npm)

Prasyarat

Membuat aplikasi JavaScript yang baru

  1. Buat aplikasi JavaScript yang baru di folder kosong menggunakan terminal pilihan Anda. Gunakan perintah npm init untuk memulai perintah untuk membuat file package.json. Terima default untuk perintah.

    npm init
    
  2. Tambahkan paket npm MongoDB ke proyek JavaScript. Gunakan perintah npm install package yang menentukan nama paket npm. Paket dotenv digunakan untuk membaca variabel lingkungan dari file .env selama pengembangan lokal.

    npm install mongodb dotenv
    
  3. Untuk menjalankan aplikasi, gunakan terminal untuk menavigasi ke direktori aplikasi dan menjalankannya.

    node index.js
    

Menyambungkan dengan driver asli MongoDB ke Azure Cosmos DB untuk MongoDB

Untuk menyambungkan driver asli MongoDB ke Azure Cosmos DB, buat instans kelas MongoClient. Kelas ini adalah titik awal untuk melakukan semua operasi terhadap database.

Konstruktor yang paling umum untuk CosmosClient memiliki dua parameter:

Parameter Contoh nilai Deskripsi
url COSMOS_CONNECTION_STRING Variabel lingkungan API untuk mongoDB string koneksi digunakan untuk semua permintaan
options {ssl: true, tls: true, } Opsi MongoDB untuk koneksi.

Lihat Panduan pemecahan masalah untuk masalah koneksi.

Dapatkan nama sumber daya

  1. Buat variabel shell untuk resourceGroupName.

    # Variable for resource group name
    resourceGroupName="msdocs-cosmos"
    
  2. Gunakan perintah az cosmosdb list untuk mengambil nama akun Azure Cosmos DB pertama di grup sumber daya Anda dan simpan di variabel shell accountName.

    # Retrieve most recently created account name
    accountName=$(
        az cosmosdb list \
            --resource-group $resourceGroupName \
            --query "[0].name" \
            --output tsv
    )
    

Mengambil string koneksi Anda

  1. Temukan API untuk MongoDB string koneksi dari daftar string koneksi untuk akun dengan az cosmosdb keys list perintah .

    az cosmosdb keys list --type connection-strings \
        --resource-group $resourceGroupName \
        --name $accountName 
    
  2. Rekam nilai KUNCI PRIMER. Anda akan menggunakan info masuk ini nanti.

Mengonfigurasi variabel lingkungan

Untuk menggunakan nilai STRING KONEKSI dalam kode Anda, atur nilai ini di lingkungan lokal yang menjalankan aplikasi. Untuk mengatur variabel lingkungan, gunakan terminal pilihan Anda untuk menjalankan perintah berikut:

$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"

Membuat MongoClient dengan string koneksi

  1. Tambahkan dependensi untuk mereferensikan paket npm MongoDB dan DotEnv.

    // Read .env file and set environment variables
    require('dotenv').config();
    
    // Use official mongodb driver to connect to the server
    const { MongoClient } = require('mongodb');
    
  2. Tentukan instans baru kelas MongoClient menggunakan konstruktor dan process.env. untuk menggunakan string koneksi.

    // New instance of MongoClient with connection string
    // for Cosmos DB
    const url = process.env.COSMOS_CONNECTION_STRING;
    const client = new MongoClient(url);
    
    // connect to the server
    await client.connect();
    
    // client options
    const options = client.options
    console.log(`Options:\n${Object.keys(options).map(key => `\t${key}: ${options[key]}\n`)}`);
    

Untuk informasi selengkapnya tentang berbagai cara untuk membuat instans MongoClient, lihat Mulai Cepat Driver NodeJS MongoDB.

Menutup koneksi MongoClient

Setelah aplikasi Anda selesai dengan koneksi, ingatlah untuk menutupnya. Panggilan .close() harus setelah semua panggilan database dilakukan.

client.close()

Menggunakan kelas klien MongoDB dengan Azure Cosmos DB untuk API untuk MongoDB

Sebelum Anda mulai membangun aplikasi, mari kita lihat hierarki sumber daya di Azure Cosmos DB. Azure Cosmos DB memiliki model objek tertentu yang digunakan untuk membuat dan mengakses sumber daya. Azure Cosmos DB membuat sumber daya dalam hierarki yang terdiri dari akun, database, koleksi, dan dokumen.

Diagram hierarki Azure Cosmos DB DB termasuk akun, database, koleksi, dan dokumen.

Diagram hierarkis memperlihatkan akun Azure Cosmos DB DB di bagian atas. Akun ini memiliki dua node database turunan. Salah satu node database tersebut memiliki dua node koleksi turunan. Node database lainnya memiliki satu node koleksi turunan. Satu node koleksi tersebut memiliki tiga node dokumen turunan.

Setiap jenis sumber daya diwakili oleh satu atau beberapa kelas JavaScript terkait. Berikut adalah daftar kelas yang paling umum:

Kelas Deskripsi
MongoClient Kelas ini menyediakan representasi logis sisi klien untuk lapisan API untuk MongoDB di Azure Cosmos DB. Klien ini digunakan untuk mengonfigurasi dan menjalankan permintaan terhadap layanan.
Db Kelas ini adalah referensi ke database yang mungkin sudah ada, atau mungkin belum ada dalam layanan. Database divalidasi di sisi server saat Anda mencoba mengaksesnya atau melakukan operasi terhadapnya.
Collection Kelas ini merupakan referensi koleksi yang mungkin juga belum ada dalam layanan. Koleksi divalidasi di sisi server saat Anda mencoba untuk menggunakannya.

Panduan berikut menunjukkan cara menggunakan masing-masing kelas ini untuk membangun aplikasi Anda.

Panduan:

Lihat juga

Langkah berikutnya

Sekarang setelah Anda terhubung ke API untuk akun MongoDB, gunakan panduan berikutnya untuk membuat dan mengelola database.