Ismerkedés a MongoDB-hez készült Azure Cosmos DB-vel JavaScript használatával

A KÖVETKEZŐKRE VONATKOZIK: MongoDB

Ez a cikk bemutatja, hogyan csatlakozhat a MongoDB-hez készült Azure Cosmos DB-hez a natív MongoDB natív npm-csomag használatával. A csatlakozás után műveleteket hajthat végre adatbázisokon, gyűjteményeken és dokumentumokon.

Feljegyzés

A példakódrészletek JavaScript-projektként érhetők el a GitHubon.

A MongoDB-hez készült API referenciadokumentációja | MongoDB-csomag (npm)

Előfeltételek

Új JavaScript-alkalmazás létrehozása

  1. Hozzon létre egy új JavaScript-alkalmazást egy üres mappában az előnyben részesített terminál használatával. npm init A parancs használatával elindíthatja a kéréseket a package.json fájl létrehozásához. Fogadja el a kérések alapértelmezett értékét.

    npm init
    
  2. Adja hozzá a MongoDB npm-csomagot a JavaScript-projekthez. Használja az npm install package npm-csomag nevét meghatározó parancsot. A dotenv csomag a környezeti változók fájlból való beolvasására szolgál a .env helyi fejlesztés során.

    npm install mongodb dotenv
    
  3. Az alkalmazás futtatásához egy terminál használatával lépjen az alkalmazás könyvtárára, és futtassa az alkalmazást.

    node index.js
    

Csatlakozás MongoDB natív illesztőprogrammal a MongoDB-hez készült Azure Cosmos DB-be

Ha natív MongoDB-illesztővel szeretne csatlakozni az Azure Cosmos DB-hez, hozza létre az osztály egy példányát MongoClient . Ez az osztály a kiindulópont az adatbázisokon végzett összes művelet végrehajtásához.

A MongoClient leggyakoribb konstruktorának két paramétere van:

Paraméter Példaérték Leírás
url COSMOS_CONNECTION_STRING környezeti változó A MongoDB-hez készült API kapcsolati sztring minden kéréshez használható
options {ssl: true, tls: true, } MongoDB-beállítások a kapcsolathoz.

A csatlakozási problémák hibaelhárítási útmutatójában tájékozódhat.

Erőforrásnév lekérése

  1. Hozzon létre egy rendszerhéjváltozót a resourceGroupName számára.

    # Variable for resource group name
    resourceGroupName="msdocs-cosmos"
    
  2. az cosmosdb list A paranccsal lekérheti az erőforráscsoport első Azure Cosmos DB-fiókjának nevét, és tárolhatja az accountName rendszerhéj változójában.

    # Retrieve most recently created account name
    accountName=$(
        az cosmosdb list \
            --resource-group $resourceGroupName \
            --query "[0].name" \
            --output tsv
    )
    

A kapcsolati sztring lekérése

  1. Keresse meg a MongoDB API-kapcsolati sztring a parancsot tartalmazó az cosmosdb keys list fiók kapcsolati sztring listájából.

    az cosmosdb keys list --type connection-strings \
        --resource-group $resourceGroupName \
        --name $accountName 
    
  2. Jegyezze fel az ELSŐDLEGES KULCS értékeket. Ezeket a hitelesítő adatokat később fogja használni.

Környezeti változók konfigurálása

A KAPCSOLATI SZTRING értékeinek a kódban való használatához állítsa be ezt az értéket az alkalmazást futtató helyi környezetben. A környezeti változó beállításához használja az előnyben részesített terminált a következő parancsok futtatásához:

$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"

MongoClient létrehozása kapcsolati sztring

  1. Add dependencies to reference the MongoDB and DotEnv npm packages.

    // Read .env file and set environment variables
    require('dotenv').config();
    
    // Use official mongodb driver to connect to the server
    const { MongoClient } = require('mongodb');
    
  2. Definiálja az osztály új példányát a MongoClient konstruktor használatával, és process.env. használja a kapcsolati sztring.

    // 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`)}`);
    

A példányok létrehozásának MongoClient különböző módjairól a MongoDB NodeJS-illesztőprogram rövid útmutatója nyújt további információt.

A MongoClient-kapcsolat bezárása

Ha az alkalmazás befejezte a kapcsolatot, ne felejtse el bezárni. A .close() hívásnak az összes adatbázis-hívás után kell lennie.

client.close()

MongoDB-ügyfélosztályok használata a MongoDB-hez készült Azure Cosmos DB for API-val

Mielőtt elkezdené az alkalmazást, nézzük meg az Azure Cosmos DB-ben található erőforrások hierarchiáját. Az Azure Cosmos DB egy adott objektummodellt használ erőforrások létrehozásához és eléréséhez. Az Azure Cosmos DB olyan hierarchiában hoz létre erőforrásokat, amelyek fiókokból, adatbázisokból, gyűjteményekből és dokumentumokból állnak.

Az Azure Cosmos DB DB hierarchiájának diagramja, beleértve a fiókokat, adatbázisokat, gyűjteményeket és dokumentumokat.

Hierarchikus diagram egy Azure Cosmos DB DB-fiókot ábrázol felül. A fióknak két gyermekadatbázis-csomópontja van. Az adatbázis-csomópontok egyike két gyermekgyűjteményi csomópontot tartalmaz. A másik adatbáziscsomópont egyetlen gyermekgyűjteményi csomópontot tartalmaz. Az egyetlen gyűjteménycsomópont három gyermek-dokumentumcsomópontból áll.

Minden erőforrástípust egy vagy több társított JavaScript-osztály jelöl. Íme a leggyakoribb osztályok listája:

Osztály Leírás
MongoClient Ez az osztály ügyféloldali logikai reprezentációt biztosít a MongoDB API-réteghez az Azure Cosmos DB-ben. Az ügyfélobjektum a szolgáltatással kapcsolatos kérések konfigurálására és végrehajtására szolgál.
Db Ez az osztály egy olyan adatbázisra mutató hivatkozás, amely lehet, hogy még létezik a szolgáltatásban. Az adatbázis kiszolgálóoldali érvényesítve van, amikor megpróbálja elérni, vagy műveletet hajt végre rajta.
Collection Ez az osztály olyan gyűjteményre hivatkozik, amely még nem létezik a szolgáltatásban. A gyűjtemény kiszolgálóoldali érvényesítve lesz, amikor megpróbál dolgozni vele.

Az alábbi útmutatók bemutatják, hogyan használhatja ezeket az osztályokat az alkalmazás létrehozásához.

Útmutató:

Lásd még

Következő lépések

Most, hogy csatlakozott egy MongoDB-fiókhoz készült API-hoz, a következő útmutató segítségével hozhat létre és kezelhet adatbázisokat.