Kom igång med Azure Cosmos DB för MongoDB med JavaScript
GÄLLER FÖR: MongoDB
Den här artikeln visar hur du ansluter till Azure Cosmos DB för MongoDB med det interna MongoDB npm-paketet. När du är ansluten kan du utföra åtgärder på databaser, samlingar och dokument.
API för MongoDB-referensdokumentation | MongoDB-paket (npm)
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Node.js LTS
- Azures kommandoradsgränssnitt (CLI) eller Azure PowerShell
- Azure Cosmos DB för MongoDB-resurs
Skapa en ny JavaScript-app
Skapa ett nytt JavaScript-program i en tom mapp med hjälp av önskad terminal.
npm init
Använd kommandot för att starta anvisningarna för att skapapackage.json
filen. Acceptera standardinställningarna för prompterna.npm init
Lägg till MongoDB npm-paketet i JavaScript-projektet.
npm install package
Använd kommandot som anger namnet på npm-paketet. Paketetdotenv
används för att läsa miljövariablerna från en.env
fil under den lokala utvecklingen.npm install mongodb dotenv
Om du vill köra appen använder du en terminal för att navigera till programkatalogen och köra programmet.
node index.js
Ansluta med den inbyggda MongoDB-drivrutinen till Azure Cosmos DB för MongoDB
Skapa en instans av MongoClient
klassen för att ansluta med den inbyggda MongoDB-drivrutinen till Azure Cosmos DB. Den här klassen är utgångspunkten för att utföra alla åtgärder mot databaser.
Den vanligaste konstruktorn för MongoClient har två parametrar:
Parameter | Exempelvärde | beskrivning |
---|---|---|
url |
COSMOS_CONNECTION_STRING miljövariabel |
API för MongoDB-anslutningssträng som ska användas för alla begäranden |
options |
{ssl: true, tls: true, } |
MongoDB-alternativ för anslutningen. |
Se felsökningsguiden för anslutningsproblem.
Hämta resursnamn
Skapa en gränssnittsvariabel för resourceGroupName.
# Variable for resource group name resourceGroupName="msdocs-cosmos"
az cosmosdb list
Använd kommandot för att hämta namnet på det första Azure Cosmos DB-kontot i resursgruppen och lagra det i variabeln accountName-gränssnittet.# Retrieve most recently created account name accountName=$( az cosmosdb list \ --resource-group $resourceGroupName \ --query "[0].name" \ --output tsv )
Hämta anslutningssträngen
Leta upp API:et för MongoDB-anslutningssträng från listan över anslutningssträng för kontot med
az cosmosdb keys list
kommandot .az cosmosdb keys list --type connection-strings \ --resource-group $resourceGroupName \ --name $accountName
Registrera primärnyckelvärdena. Du använder dessa autentiseringsuppgifter senare.
Konfigurera miljövariabler
Om du vill använda VÄRDENA FÖR ANSLUTNINGSSTRÄNG i koden anger du det här värdet i den lokala miljö som kör programmet. Om du vill ange miljövariabeln använder du önskad terminal för att köra följande kommandon:
$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"
Skapa MongoClient med anslutningssträng
Lägg till beroenden för att referera till MongoDB- och DotEnv npm-paketen.
// Read .env file and set environment variables require('dotenv').config(); // Use official mongodb driver to connect to the server const { MongoClient } = require('mongodb');
Definiera en ny instans av
MongoClient
klassen med konstruktorn ochprocess.env.
använd anslutningssträng.// 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`)}`);
Mer information om olika sätt att skapa en MongoClient
instans finns i Snabbstart för MongoDB NodeJS-drivrutin.
Stäng MongoClient-anslutningen
När programmet är klart med anslutningen ska du komma ihåg att stänga det. Anropet .close()
ska ske när alla databasanrop har gjorts.
client.close()
Använda MongoDB-klientklasser med Azure Cosmos DB för API för MongoDB
Innan du börjar skapa programmet ska vi titta på resurshierarkin i Azure Cosmos DB. Azure Cosmos DB har en specifik objektmodell som används för att skapa och komma åt resurser. Azure Cosmos DB skapar resurser i en hierarki som består av konton, databaser, samlingar och dokument.
Hierarkiskt diagram som visar ett Azure Cosmos DB DB-konto högst upp. Kontot har två underordnade databasnoder. En av databasnoderna innehåller två underordnade samlingsnoder. Den andra databasnoden innehåller en enda underordnad samlingsnod. Den enda samlingsnoden har tre underordnade doc-noder.
Varje typ av resurs representeras av en eller flera associerade JavaScript-klasser. Här är en lista över de vanligaste klasserna:
Klass | beskrivning |
---|---|
MongoClient |
Den här klassen ger en logisk representation på klientsidan för API:et för MongoDB-lagret i Azure Cosmos DB. Klientobjektet används för att konfigurera och köra begäranden mot tjänsten. |
Db |
Den här klassen är en referens till en databas som kanske, eller kanske inte, finns i tjänsten ännu. Databasen verifieras på serversidan när du försöker komma åt den eller utföra en åtgärd mot den. |
Collection |
Den här klassen är en referens till en samling som kanske inte heller finns i tjänsten ännu. Samlingen verifieras på serversidan när du försöker arbeta med den. |
Följande guider visar hur du använder var och en av dessa klasser för att skapa ditt program.
Guide:
Se även
Nästa steg
Nu när du har anslutit till ett API för MongoDB-konto använder du nästa guide för att skapa och hantera databaser.