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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Node.js LTS
- Azure Komut Satırı Arabirimi (CLI) veya Azure PowerShell
- MongoDB için Azure Cosmos DB kaynağı
Yeni javascript uygulaması oluşturma
Tercih ettiğiniz terminali kullanarak boş bir klasörde yeni bir JavaScript uygulaması oluşturun.
npm init
Dosyayı oluşturmakpackage.json
için istemleri başlatmak için komutunu kullanın. İstemler için varsayılan değerleri kabul edin.npm init
JavaScript projesine MongoDB npm paketini ekleyin.
npm install package
npm paketinin adını belirten komutunu kullanın. Paketdotenv
, yerel geliştirme sırasında bir.env
dosyadan ortam değişkenlerini okumak için kullanılır.npm install mongodb dotenv
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
resourceGroupName için bir kabuk değişkeni oluşturun.
# Variable for resource group name resourceGroupName="msdocs-cosmos"
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
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
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
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');
Oluşturucuyu
MongoClient
kullanarak sınıfının yeni bir örneğini tanımlayın veprocess.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.
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:
- Veritabanlarını yönetme
- Koleksiyonları yönetme
- Belgeleri yönetme
- Belgeleri bulmak için sorguları kullanma
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.