Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY:
Mongodb
Ważna
Czy chcesz przeprowadzić migrację istniejącej aplikacji bazy danych MongoDB lub używać funkcji języka zapytań MongoDB (MQL)? Rozważ użycie usługi Azure DocumentDB.
Szukasz rozwiązania bazy danych dla scenariuszy o dużej skali z umową SLA gwarantującą poziom dostępności na poziomie 99,999%, natychmiastowym skalowaniem automatycznym i automatycznym przełączaniem awaryjnym między wieloma regionami? Rozważmy usługę Azure Cosmos DB dla noSQL.
W tym artykule pokazano, jak nawiązać połączenie z Azure Cosmos DB dla bazy danych MongoDB przy użyciu natywnego pakietu npm bazy danych MongoDB. Po nawiązaniu połączenia można wykonywać operacje na bazach danych, kolekcjach i dokumentach.
Dokumentacja referencyjna interfejsu API dla MongoDB | Pakiet MongoDB (npm)
Prerequisites
- Konto platformy Azure z aktywną subskrypcją. Utwórz bezpłatne konto.
- Node.js LTS
- Azure Command-Line Interface (CLI) lub Azure PowerShell
- Zasób usługi Azure Cosmos DB dla bazy danych MongoDB
Tworzenie nowej aplikacji JavaScript
Utwórz nową aplikację JavaScript w pustym folderze przy użyciu preferowanego terminalu. Użyj polecenia
npm init, aby uruchomić monity do utworzenia plikupackage.json. Zaakceptuj wartości domyślne dla monitów.npm initDodaj pakiet npm bazy danych MongoDB do projektu JavaScript.
npm install packageUżyj polecenia określającego nazwę pakietu npm. Pakietdotenvsłuży do odczytywania zmiennych środowiskowych z.envpliku podczas lokalnego tworzenia oprogramowania.npm install mongodb dotenvAby uruchomić aplikację, użyj terminalu, aby przejść do katalogu aplikacji i uruchomić aplikację.
node index.js
Łączenie się z bazą danych Azure Cosmos DB dla MongoDB przy użyciu natywnego sterownika MongoDB
Aby nawiązać połączenie ze sterownikiem natywnym MongoDB do usługi Azure Cosmos DB, utwórz wystąpienie klasy MongoClient. Ta klasa jest punktem wyjścia do wykonywania wszystkich operacji względem baz danych.
Najczęściej używany konstruktor MongoClient ma dwa parametry:
| Parameter | Przykładowa wartość | Description |
|---|---|---|
url |
COSMOS_CONNECTION_STRING zmienna środowiskowa |
Interfejs API dla bazy danych MongoDB parametry połączenia do użycia dla wszystkich żądań |
options |
{ssl: true, tls: true, } |
Opcje bazy danych MongoDB dla połączenia. |
Zapoznaj się z przewodnikiem rozwiązywania problemów z połączeniem.
Uzyskiwanie nazwy zasobu
Utwórz zmienną powłoki dla resourceGroupName.
# Variable for resource group name resourceGroupName="msdocs-cosmos"Użyj polecenia
az cosmosdb list, aby pobrać nazwę pierwszego konta usługi Azure Cosmos DB w grupie zasobów i zapisać je w zmiennej powłoki accountName.# Retrieve most recently created account name accountName=$( az cosmosdb list \ --resource-group $resourceGroupName \ --query "[0].name" \ --output tsv )
Pobieranie parametrów połączenia
Znajdź API dla MongoDB parametrów połączenia z listy parametrów połączenia dla konta za pomocą polecenia
az cosmosdb keys list.az cosmosdb keys list --type connection-strings \ --resource-group $resourceGroupName \ --name $accountNameZapisz wartości KLUCZA GŁÓWNEGO. Będziesz używać tych danych logowania później.
Konfigurowanie zmiennych środowiskowych
Aby użyć wartości CIĄGU POŁĄCZENIA w kodzie, ustaw tę wartość w środowisku lokalnym, w którym uruchomiono aplikację. Aby ustawić zmienną środowiskową, użyj preferowanego terminalu, aby uruchomić następujące polecenia:
$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"
Tworzenie elementu MongoClient przy użyciu parametry połączenia
Dodaj zależności, aby odwoływać się do pakietów npm mongoDB i DotEnv.
// Use official mongodb driver to connect to the server import { MongoClient } from 'mongodb';Zdefiniuj nowe wystąpienie klasy
MongoClientprzy użyciu konstruktora, oraz użyj ciągu połączeniaprocess.env..// 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`)}` );
Aby uzyskać więcej informacji na temat różnych sposobów tworzenia wystąpienia MongoClient, zobacz Szybki start przewodnika sterownika NodeJS MongoDB.
Zamykanie połączenia z klientem MongoClient
Po zakończeniu pracy aplikacji z połączeniem pamiętaj, aby ją zamknąć. Wywołanie .close() powinno być wykonywane po wszystkich wywołaniach bazy danych.
client.close()
Używaj klas klientów MongoDB z usługą Azure Cosmos DB dla API MongoDB
Przed rozpoczęciem tworzenia aplikacji przyjrzyjmy się hierarchii zasobów w usłudze Azure Cosmos DB. Usługa Azure Cosmos DB ma określony model obiektów używany do tworzenia zasobów i uzyskiwania do ich dostępu. Usługa Azure Cosmos DB tworzy zasoby w hierarchii składającej się z kont, baz danych, kolekcji i dokumentów.
Diagram hierarchiczny przedstawiający u góry konto Azure Cosmos DB dla MongoDB. Konto ma dwa podrzędne węzły bazy danych. Jeden z węzłów bazy danych zawiera dwa podrzędne węzły kolekcji. Drugi węzeł bazy danych zawiera jeden węzeł kolekcji podrzędnej. Ten węzeł pojedynczej kolekcji ma trzy podrzędne węzły dokumentu.
Każdy typ zasobu jest reprezentowany przez co najmniej jedną skojarzną klasę języka JavaScript. Oto lista najpopularniejszych klas:
| Class | Description |
|---|---|
MongoClient |
Ta klasa zapewnia logiczną reprezentację po stronie klienta dla warstwy interfejsu API MongoDB w usłudze Azure Cosmos DB. Obiekt klienta służy do konfigurowania i wykonywania żądań względem usługi. |
Db |
Ta klasa jest odwołaniem do bazy danych, która może lub nie istnieje jeszcze w usłudze. Baza danych jest weryfikowana po stronie serwera podczas próby uzyskania do niej dostępu lub wykonania na niej operacji. |
Collection |
Ta klasa jest odwołaniem do kolekcji, która również może jeszcze nie istnieć w usłudze. Kolekcja jest weryfikowana po stronie serwera podczas próby pracy z nią. |
W poniższych przewodnikach pokazano, jak utworzyć aplikację przy użyciu każdej z tych klas.
Przewodnik:
- Zarządzanie bazami danych
- Zarządzanie kolekcjami
- Zarządzanie dokumentami
- Znajdowanie dokumentów przy użyciu zapytań
Zobacz także
Następne kroki
Po nawiązaniu połączenia z interfejsem API dla konta MongoDB, następnie skorzystaj z przewodnika, aby tworzyć i zarządzać bazami danych.