Introduzione ad Azure Cosmos DB for MongoDB usando JavaScript
SI APPLICA A: MongoDB
Questo articolo illustra come connettersi ad Azure Cosmos DB for MongoDB usando il pacchetto npm MongoDB 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 dell'API per MongoDB | Pacchetto MongoDB (npm)
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Node.js LTS
- Interfaccia della riga di comando di Azure o Azure PowerShell
- Risorsa Azure Cosmos DB for MongoDB
Creare una nuova app JavaScript
Creare una nuova applicazione JavaScript in una cartella vuota usando il terminale preferito. Usare il comando
npm init
per avviare i prompt per la creazione del filepackage.json
. Accettare le impostazioni predefinite per i prompt.npm init
Aggiungere il pacchetto npm MongoDB al progetto JavaScript. Usare il comando
npm install package
che specifica il nome del pacchetto npm. Il pacchettodotenv
viene usato per leggere le variabili di ambiente da un file di.env
durante lo sviluppo locale.npm install mongodb dotenv
Per eseguire l'app, usare un terminale per passare alla directory dell'applicazione e quindi eseguire l'applicazione.
node index.js
Connettersi con il driver nativo MongoDB ad Azure Cosmos DB for MongoDB
Per connettersi con il driver nativo MongoDB ad Azure Cosmos DB, creare un'istanza della classe MongoClient
. 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_STRING |
Stringa di connessione dell’API per mongoDB da usare per tutte le richieste |
options |
{ssl: true, tls: true, } |
Opzioni mongoDB per la connessione. |
Vedere la guida alla risoluzione dei problemi di connessione.
Ottenere il nome della risorsa
Creare una variabile di shell per resourceGroupName.
# Variable for resource group name resourceGroupName="msdocs-cosmos"
Usare il comando
az cosmosdb list
per recuperare il nome del primo account Azure Cosmos DB 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 dell'API per MongoDB dall'elenco delle stringhe di connessione per l'account con il comando
az cosmosdb keys list
.az cosmosdb keys list --type connection-strings \ --resource-group $resourceGroupName \ --name $accountName
Registrare i valori PRIMARY KEY. Queste credenziali saranno necessarie più avanti.
Configurare le variabili di ambiente
Per usare i valori della STRINGA DI CONNESSIONE all'interno del codice, impostare questo valore nell'ambiente 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 classe
MongoClient
usando il costruttore eprocess.env.
per 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'istanza di MongoClient
, vedere l'argomento di avvio rapido sul driver MongoDB per NodeJS.
Chiudere la connessione MongoClient
Al termine della connessione dell’applicazione, ricordarsi di chiuderla. La chiamata .close()
deve essere eseguita dopo tutte le chiamate al database.
client.close()
Usare le classi client MongoDB con Azure Cosmos DB per l'API per MongoDB
Prima di iniziare a compilare l'applicazione, verrà esaminata la gerarchia di risorse in Azure Cosmos DB. Azure Cosmos DB ha un modello a oggetti specifico usato per creare e accedere alle risorse. Azure Cosmos DB crea risorse in una gerarchia costituita da account, database, raccolte e documenti.
Diagramma gerarchico che mostra al vertice un account DB di Azure Cosmos DB. L'account presenta due nodi database figlio. Uno dei nodi del database include due nodi raccolta figlio. L'altro nodo del database include un singolo nodo di raccolta figlio. Il nodo di raccolta singolo ha tre nodi di documento figlio.
Ogni tipo di risorsa è rappresentato da una o più classi JavaScript associati. Ecco un elenco delle classi più comuni:
Classe | Descrizione |
---|---|
MongoClient |
Questa classe fornisce una rappresentazione logica lato client per il livello dell'API per MongoDB in Azure Cosmos DB. L'oggetto client viene usato per configurare ed eseguire richieste nel servizio. |
Db |
Questa classe è un riferimento a un database che potrebbe esistere o meno nel servizio. Il database viene convalidato lato server quando si tenta di accedervi o di eseguire un'operazione su di esso. |
Collection |
Questa classe è un riferimento a una raccolta che può non esistere ancora nel servizio. La raccolta viene convalidata sul lato server quando si tenta di usarla. |
Nelle guide seguenti viene illustrato come utilizzare ognuna di queste classi per creare l'applicazione.
Guida:
Vedi anche
Passaggi successivi
Dopo aver eseguito la connessione a un account API for MongoDB, passare alla guida successiva per creare e gestire i database.