JavaScript kullanarak MongoDB için Azure Cosmos DB ile çalışmaya başlama

ŞUNLAR IÇIN GEÇERLIDIR: MongoDB

Bu makalede, yerel MongoDB npm paketini kullanarak MongoDB için Azure Cosmos DB'ye nasıl bağlanabileceğiniz gösterilmektedir. Bağlandıktan sonra veritabanları, koleksiyonlar ve belgeler üzerinde işlemler gerçekleştirebilirsiniz.

Not

Örnek kod parçacıkları GitHub'da JavaScript projesi olarak kullanılabilir.

MongoDB için API başvuru belgeleri | MongoDB Paketi (npm)

Önkoşullar

Yeni javascript uygulaması oluşturma

  1. Tercih ettiğiniz terminali kullanarak boş bir klasörde yeni bir JavaScript uygulaması oluşturun. npm init Dosyayı oluşturmak package.json için istemleri başlatmak için komutunu kullanın. İstemler için varsayılan değerleri kabul edin.

    npm init
    
  2. JavaScript projesine MongoDB npm paketini ekleyin. npm install package npm paketinin adını belirten komutunu kullanın. Paket dotenv , yerel geliştirme sırasında bir .env dosyadan ortam değişkenlerini okumak için kullanılır.

    npm install mongodb dotenv
    
  3. Uygulamayı çalıştırmak için bir terminal kullanarak uygulama dizinine gidin ve uygulamayı çalıştırın.

    node index.js
    

MongoDB için Azure Cosmos DB'ye MongoDB yerel sürücüsüyle Bağlan

MongoDB yerel sürücüsüyle Azure Cosmos DB'ye bağlanmak için sınıfının bir örneğini MongoClient oluşturun. Bu sınıf, veritabanlarında tüm işlemleri gerçekleştirmek için başlangıç noktasıdır.

MongoClient için en yaygın oluşturucunun iki parametresi vardır:

Parametre Örnek değer Açıklama
url COSMOS_CONNECTION_STRING ortam değişkeni MongoDB api'bağlantı dizesi tüm istekler için kullanılacak
options {ssl: true, tls: true, } Bağlantı için MongoDB Seçenekleri .

Bağlantı sorunları için Sorun giderme kılavuzuna bakın.

Kaynak adını alma

  1. resourceGroupName için bir kabuk değişkeni oluşturun.

    # Variable for resource group name
    resourceGroupName="msdocs-cosmos"
    
  2. az cosmosdb list Komutunu kullanarak kaynak grubunuzdaki ilk Azure Cosmos DB hesabının adını alın ve accountName kabuk değişkeninde depolayın.

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

Bağlantı dizenizi alma

  1. Komutuyla hesabın bağlantı dizesi listesinden MongoDB bağlantı dizesi API'sini az cosmosdb keys list bulun.

    az cosmosdb keys list --type connection-strings \
        --resource-group $resourceGroupName \
        --name $accountName 
    
  2. BİRİnCİl ANAHTAR değerlerini kaydedin. Bu kimlik bilgilerini daha sonra kullanacaksınız.

Ortam değişkenlerini yapılandırma

Kodunuzda CONNECTION STRING değerlerini kullanmak için bu değeri uygulamayı çalıştıran yerel ortamda ayarlayın. Ortam değişkenini ayarlamak için tercih ettiğiniz terminali kullanarak aşağıdaki komutları çalıştırın:

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

bağlantı dizesi ile MongoClient oluşturma

  1. MongoDB ve DotEnv npm paketlerine başvurmak için bağımlılıklar ekleyin.

    // Read .env file and set environment variables
    require('dotenv').config();
    
    // Use official mongodb driver to connect to the server
    const { MongoClient } = require('mongodb');
    
  2. Oluşturucuyu MongoClient kullanarak sınıfının yeni bir örneğini tanımlayın ve process.env. bağlantı dizesi kullanın.

    // 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`)}`);
    

Örnek oluşturmanın MongoClient farklı yolları hakkında daha fazla bilgi için bkz . MongoDB NodeJS Sürücüsü Hızlı Başlangıç.

MongoClient bağlantısını kapatma

Uygulamanız bağlantıyla bittiğinde uygulamayı kapatmayı unutmayın. Çağrı, .close() tüm veritabanı çağrıları yapıldıktan sonra olmalıdır.

client.close()

MongoDB için API için Azure Cosmos DB ile MongoDB istemci sınıflarını kullanma

Uygulamayı oluşturmaya başlamadan önce Azure Cosmos DB'deki kaynak hiyerarşisini inceleyelim. Azure Cosmos DB'de kaynak oluşturmak ve kaynaklara erişmek için kullanılan belirli bir nesne modeli vardır. Azure Cosmos DB, hesaplar, veritabanları, koleksiyonlar ve belgelerden oluşan bir hiyerarşide kaynaklar oluşturur.

Hesaplar, veritabanları, koleksiyonlar ve belgeler de dahil olmak üzere Azure Cosmos DB VERITABANı hiyerarşisinin diyagramı.

En üstte Bir Azure Cosmos DB hesabı gösteren hiyerarşik diyagram. Hesabın iki alt veritabanı düğümü vardır. Veritabanı düğümlerinden biri iki alt koleksiyon düğümü içerir. Diğer veritabanı düğümü tek bir alt koleksiyon düğümü içerir. Bu tek koleksiyon düğümünde üç alt belge düğümü vardır.

Her kaynak türü bir veya daha fazla ilişkili JavaScript sınıfıyla temsil edilir. En yaygın sınıfların listesi aşağıdadır:

Sınıf Açıklama
MongoClient Bu sınıf, Azure Cosmos DB'de MongoDB için API katmanı için istemci tarafı mantıksal gösterimi sağlar. İstemci nesnesi, hizmette istekleri yapılandırmak ve yürütmek için kullanılır.
Db Bu sınıf, hizmette henüz var olabilen veya var olmayan bir veritabanına başvurudur. Veritabanına erişmeye veya ona karşı bir işlem gerçekleştirmeye çalıştığınızda veritabanı sunucu tarafında doğrulanır.
Collection Bu sınıf, hizmette henüz mevcut olmayan bir koleksiyona başvurudur. Koleksiyon, onunla çalışmaya çalıştığınızda sunucu tarafında doğrulanır.

Aşağıdaki kılavuzlarda, uygulamanızı derlemek için bu sınıfların her birinin nasıl kullanılacağı gösterilmektedir.

Kılavuz:

Ayrıca bkz.

Sonraki adımlar

MongoDB hesabı için bir API'ye bağlandığınıza göre, veritabanlarını oluşturmak ve yönetmek için sonraki kılavuzu kullanın.