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

Creare una nuova app JavaScript

  1. Creare una nuova applicazione JavaScript in una cartella vuota usando il terminale preferito. Usare il npm init comando per avviare i prompt per creare il package.json file. Accettare le impostazioni predefinite per le richieste.

    npm init
    
  2. Aggiungere il pacchetto npm MongoDB al progetto JavaScript. Usare il npm install package comando che specifica il nome del pacchetto npm. Il dotenv pacchetto viene usato per leggere le variabili di ambiente da un .env file durante lo sviluppo locale.

    npm install mongodb dotenv
    
  3. 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

  1. Creare una variabile della shell per resourceGroupName.

    # Variable for resource group name
    resourceGroupName="msdocs-cosmos"
    
  2. 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

  1. 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 
    
  2. 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

  1. 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');
    
  2. Definire una nuova istanza della MongoClient, classe usando il costruttore e process.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.

Diagram of the Azure Cosmos D B hierarchy including accounts, databases, collections, and docs.

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.