Attività iniziali con l'API MongoDB del database di Azure Cosmos e JavaScript
SI APPLICA A: API di database di Azure Cosmos per MongoDB
Questo articolo illustra come connettersi all'API MongoDB del database di Azure Cosmos usando il pacchetto di MongoDB npm nativo. Dopo la connessione, è possibile eseguire operazioni su database, raccolte e documenti.
Nota
I frammenti di codice di esempio sono disponibili in GitHub come progetto JavaScript.
documentazione | di riferimento sulle API MongoDBMongoDB Package (npm)
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Node.js LTS
- Interfaccia Command-Line di Azure o Azure PowerShell
- Risorsa API MongoDB database di Azure Cosmos
Creare una nuova app JavaScript
Creare una nuova applicazione JavaScript in una cartella vuota usando il terminale preferito. Usare il
npm init
comando per avviare i prompt per creare ilpackage.json
file. Accettare le impostazioni predefinite per le richieste.npm init
Aggiungere il pacchetto npm MongoDB al progetto JavaScript. Usare il
npm install package
comando che specifica il nome del pacchetto npm. Ildotenv
pacchetto viene usato per leggere le variabili di ambiente da un.env
file durante lo sviluppo locale.npm install mongodb dotenv
Per eseguire l'app, usare un terminale per passare alla directory dell'applicazione ed eseguire l'applicazione.
node index.js
Connessione con driver nativo di MongoDB all'API MongoDB del database di Azure Cosmos
Per connettersi al driver nativo MongoDB al database Cosmos di Azure, creare un'istanza della MongoClient
classe . Questa classe è il punto di partenza per eseguire tutte le operazioni sui database.
Il costruttore più comune per MongoClient ha due parametri:
Parametro | Valore di esempio | Descrizione |
---|---|---|
url |
La variabile di ambiente COSMOS_CONNECTION_STRIN |
MongoDB stringa di connessione API da usare per tutte le richieste |
options |
{ssl: true, tls: true, } |
MongoDB Opzioni per la connessione. |
Per informazioni sui problemi di connessione, vedere la guida alla risoluzione dei problemi .
Ottenere il nome della risorsa
Creare una variabile della shell per resourceGroupName.
# Variable for resource group name resourceGroupName="msdocs-cosmos"
Usare il
az cosmosdb list
comando per recuperare il nome del primo account del database di Azure Cosmos nel gruppo di risorse e archiviarlo nella variabile della shell accountName.# Retrieve most recently created account name accountName=$( az cosmosdb list \ --resource-group $resourceGroupName \ --query "[0].name" \ --output tsv )
Recuperare la stringa di connessione
Trovare la stringa di connessione api MongoDB nell'elenco delle stringhe di connessione per l'account con il
az cosmosdb list-connection-strings
comando .az cosmosdb list-connection-strings \ --resource-group $resourceGroupName \ --name $accountName
Registrare i valori PRIMARY KEY . Queste credenziali verranno usate in un secondo momento.
Configurare le variabili di ambiente
Per usare i valori CONNECTION STRING all'interno del codice, impostare questo valore nel computer locale che esegue l'applicazione. Per impostare la variabile di ambiente, usare il terminale preferito per eseguire i comandi seguenti:
$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"
Creare MongoClient con la stringa di connessione
Aggiungere dipendenze per fare riferimento ai pacchetti npm MongoDB e DotEnv.
// Read .env file and set environment variables require('dotenv').config(); // Use official mongodb driver to connect to the server const { MongoClient } = require('mongodb');
Definire una nuova istanza della
MongoClient,
classe usando il costruttore eprocess.env.
usare la stringa di connessione.// 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`)}`);
Per altre informazioni sui diversi modi per creare un'istanzaMongoClient
, vedere Avvio rapido del driver NodeJS MongoDB.
Chiudere la connessione MongoClient
Al termine della connessione, l'applicazione ricorda di chiuderla. Tale .close()
chiamata deve essere eseguita dopo tutte le chiamate al database.
client.close()
Usare classi client di MongoDB con database Cosmos per l'API di MongoDB
Prima di iniziare a creare l'applicazione, esaminare la gerarchia delle risorse in Azure Cosmos DB. Azure Cosmos DB ha un modello a oggetti specifico usato per creare e accedere alle risorse. Il database di Azure Cosmos crea risorse in una gerarchia costituita da account, database, raccolte e documenti.
Hierarchical diagram showing an Azure Cosmos D B account at the top. The account has two child database nodes. One of the database nodes includes two child collection nodes. The other database node includes a single child collection node. That single collection node has three child doc nodes.
Ogni tipo di risorsa è rappresentato da una o più classi JavaScript associate. Ecco un elenco delle classi più comuni:
Classe | Descrizione |
---|---|
MongoClient |
Questa classe fornisce una rappresentazione logica lato client per il livello API MongoDB in Cosmos database. L'oggetto client viene usato per configurare ed eseguire richieste nel servizio. |
Db |
Questa classe è un riferimento a un database che potrebbe, o meno, esistere nel servizio. Il database viene convalidato sul lato server quando si tenta di accedervi o di eseguire un'operazione su di esso. |
Collection |
Questa classe è un riferimento a una raccolta che potrebbe non esistere ancora nel servizio. La raccolta viene convalidata sul lato server quando si tenta di usarla. |
Le guide seguenti illustrano come usare ognuna di queste classi per compilare l'applicazione.
Guida:
Vedi anche
Passaggi successivi
Dopo aver eseguito la connessione a un account API MongoDB, usare la guida successiva per creare e gestire i database.