Delen via


Quickstart: Azure Cosmos DB voor MongoDB (RU) gebruiken met Node.js

In deze quickstart implementeert u een eenvoudige Azure Cosmos DB voor MongoDB-toepassing met behulp van Python. Azure Cosmos DB voor MongoDB is een schemaloos gegevensarchief waarmee toepassingen ongestructureerde documenten in de cloud kunnen opslaan met MongoDB-bibliotheken. U leert hoe u documenten maakt en basistaken uitvoert in uw Azure Cosmos DB-resource met behulp van Python.

Broncodepakket voor bibliotheek (npm) | Azure Developer CLI |

Vereisten

  • Azure Developer CLI
  • Docker Desktop
  • Node.js 22 of hoger

Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.

Het project initialiseren

Gebruik de Azure Developer CLI (azd) om een Azure Cosmos DB for Table-account te maken en een in een container geplaatste voorbeeldtoepassing te implementeren. De voorbeeldtoepassing maakt gebruik van de clientbibliotheek voor het beheren, maken, lezen en opvragen van voorbeeldgegevens.

  1. Open een terminal in een lege map.

  2. Als u nog niet bent geverifieerd, moet u zich verifiëren bij de Azure Developer CLI met behulp van azd auth login. Volg de stappen die door het hulpprogramma zijn opgegeven om te verifiëren bij de CLI met behulp van uw favoriete Azure-referenties.

    azd auth login
    
  3. Gebruik azd init dit om het project te initialiseren.

    azd init --template cosmos-db-mongodb-nodejs-quickstart
    
  4. Configureer tijdens de initialisatie een unieke omgevingsnaam.

  5. Implementeer het Azure Cosmos DB-account met behulp van azd up. De Bicep-sjablonen implementeren ook een voorbeeldwebtoepassing.

    azd up
    
  6. Selecteer tijdens het inrichtingsproces uw abonnement, gewenste locatie en doelresourcegroep. Wacht tot het inrichtingsproces is voltooid. Het proces kan ongeveer vijf minuten duren.

  7. Zodra het inrichten van uw Azure-resources is voltooid, wordt er een URL naar de actieve webtoepassing opgenomen in de uitvoer.

    Deploying services (azd deploy)
    
      (✓) Done: Deploying service web
    - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io>
    
    SUCCESS: Your application was provisioned and deployed to Azure in 5 minutes 0 seconds.
    
  8. Gebruik de URL in de console om naar uw webtoepassing in de browser te navigeren. Bekijk de uitvoer van de actieve app.

Schermopname van de actieve webtoepassing.

Schermopname van de actieve webtoepassing.

De clientbibliotheek installeren

De clientbibliotheek is beschikbaar via npm, als pakket mongodb .

  1. Open een terminal en navigeer naar de /src/ts map.

    cd ./src/ts
    
  2. Als dit nog niet is geïnstalleerd, installeert u het mongodb pakket met behulp van npm install.

    npm install --save mongodb
    
  3. Open en controleer het bestand src/ts/package.json om te controleren of de mongodb vermelding bestaat.

  1. Open een terminal en navigeer naar de /src/js map.

    cd ./src/js
    
  2. Als dit nog niet is geïnstalleerd, installeert u het mongodb pakket met behulp van npm install.

    npm install --save mongodb
    
  3. Open en controleer het bestand src/js/package.json om te controleren of de mongodb vermelding bestaat.

Objectmodel

Name Beschrijving
MongoClient Type dat wordt gebruikt om verbinding te maken met MongoDB.
Database Vertegenwoordigt een database in het account.
Collection Vertegenwoordigt een verzameling in een database in het account.

Codevoorbeelden

De voorbeeldcode in de sjabloon maakt gebruik van een database met de naam cosmicworks en verzameling.products De products verzameling bevat details zoals naam, categorie, hoeveelheid en een unieke id voor elk product. De verzameling gebruikt de /category eigenschap als een shardsleutel.

De client verifiëren

In dit voorbeeld wordt een nieuw exemplaar van het MongoClient type gemaakt.

const connectionString = "<azure-cosmos-db-for-mongodb-connection-string>";

const client = new MongoClient(connectionString);
const connectionString = "<azure-cosmos-db-for-mongodb-connection-string>";

const client = new MongoClient(connectionString);

Een database ophalen

In dit voorbeeld wordt een exemplaar van het Db type gemaakt met behulp van de db functie van het MongoClient type.

const database: Db = client.db("<database-name>");
const database = client.db("<database-name>");

Een verzameling ophalen

In dit voorbeeld wordt een exemplaar van het Collection type gemaakt met behulp van de collection functie van het Db type.

Deze functie heeft een algemene parameter die gebruikmaakt van het Product type dat is gedefinieerd in een interface.

const collection: Collection<Product> = database.collection<Product>("<collection-name>");
export interface Product {
    _id: string;
    category: string;
    name: string;
    quantity: number;
    price: number;
    clearance: boolean;
}
const collection = database.collection("<collection-name>");

Een document maken

Maak een document in de verzameling met behulp van collection.updateOne. Met deze methode wordt het item effectief vervangen als het al bestaat.

var document: Product = {
    _id: 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb',
    category: 'gear-surf-surfboards',
    name: 'Yamba Surfboard',
    quantity: 12,
    price: 850.00,
    clearance: false
};

var query: Filter<Product> = {
    _id: 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb',
    category: 'gear-surf-surfboards'
};
var payload: UpdateFilter<Product> = {
    $set: document
};
var options: UpdateOptions = {
    upsert: true
};
var response: UpdateResult<Product> = await collection.updateOne(query, payload, options);
var document = {
    _id: 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb',
    category: 'gear-surf-surfboards',
    name: 'Yamba Surfboard',
    quantity: 12,
    price: 850.00,
    clearance: false
};

const query = {
    _id: 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb',
    category: 'gear-surf-surfboards'
};
const payload = {
    $set: document
};
const options = {
    upsert: true,
    new: true
};
var response = await collection.updateOne(query, payload, options);

Een document lezen

Voer een puntleesbewerking uit met behulp van zowel de unieke id (id) als de shardsleutelvelden. Gebruik collection.findOne dit om het specifieke item efficiënt op te halen.

var query: Filter<Product> = { 
    _id: 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb', 
    category: 'gear-surf-surfboards' 
};

var response: WithId<Product> | null = await collection.findOne(query);
var query = { 
    _id: 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb', 
    category: 'gear-surf-surfboards' 
};

var response = await collection.findOne(query);

Query's uitvoeren voor documenten

Voer een query uit op meerdere items in een container met behulp van collection.find. Met deze query worden alle items in een opgegeven categorie (shardsleutel) gevonden.

var query: Filter<Product> = { 
    category: 'gear-surf-surfboards' 
};

var response: FindCursor<WithId<Product>> = await collection.find(query);
for await (const item of response) {
    // Do something with each item
}
var query = { 
    category: 'gear-surf-surfboards' 
};

var response = await collection.find(query);
for await (const item of response) {
    // Do something with each item
}

Uw gegevens verkennen

Gebruik de Visual Studio Code-extensie voor Azure Cosmos DB om uw MongoDB-gegevens te verkennen. U kunt kerndatabasebewerkingen uitvoeren, waaronder, maar niet beperkt tot:

  • Query's uitvoeren met behulp van een scrapbook of de query-editor
  • Documenten wijzigen, bijwerken, maken en verwijderen
  • Bulkgegevens importeren uit andere bronnen
  • Databases en verzamelingen beheren

Zie De Visual Studio Code-extensie gebruiken om Azure Cosmos DB voor MongoDB-gegevens te verkennen voor meer informatie.

Resources opschonen

Wanneer u de voorbeeldtoepassing of resources niet meer nodig hebt, verwijdert u de bijbehorende implementatie en alle resources.

azd down