Delen via


Quickstart: Azure DocumentDB gebruiken met MongoDB-stuurprogramma voor Java

In deze quickstart maakt u een eenvoudige Azure DocumentDB-toepassing met behulp van Java. Azure DocumentDB is een NoSQL-gegevensarchief waarmee toepassingen documenten kunnen opslaan in de cloud en deze kunnen openen met behulp van officiële MongoDB-stuurprogramma's. Deze handleiding laat zien hoe u documenten maakt en basistaken uitvoert in uw Azure DocumentDB-cluster met behulp van Java.

API-verwijzing | Broncode | Pakket (Maven)

Vereiste voorwaarden

  • Een Azure-abonnement

  • Java 21 of hoger

Een Azure DocumentDB-cluster maken

Om aan de slag te gaan, moet u eerst een Azure DocumentDB-cluster maken, dat fungeert als de basis voor het opslaan en beheren van uw NoSQL-gegevens.

  1. Meld u aan bij Azure Portal (https://portal.azure.com).

  2. Selecteer vanuit het menu van Azure Portal of op de startpagina de optie Een resource maken.

  3. Zoek en selecteer Azure DocumentDB op de pagina Nieuw.

    Schermopname van zoeken naar Azure DocumentDB.

  4. Selecteer op de pagina Azure DocumentDB-cluster maken en selecteer in de sectie Basisbeginselen de optie Configureren in de sectie Clusterlaag .

    Schermopname met de optie 'Cluster configureren'.

  5. Configureer deze opties op de pagina Schaal en selecteer Opslaan om uw wijzigingen in de clusterlaag te behouden.

    Waarde
    Clusterniveau M30 tier, 2 vCore, 8-GiB RAM
    Opslag per shard 128 GiB

    Schermopname van configuratieopties voor berekening en opslag voor een nieuw Azure DocumentDB-cluster.

  6. Configureer in de sectie Basisbeginselen de volgende opties:

    Waarde
    Subscription Selecteer uw Azure-abonnement
    Resourcegroep Een nieuwe resourcegroep maken of een bestaande resourcegroep selecteren
    Clusternaam Geef een wereldwijd unieke naam op
    Plaats Selecteer een ondersteunde Azure-regio voor uw abonnement
    MongoDB-versie Selecteren 8.0
    Gebruikersnaam van beheerder Een gebruikersnaam maken voor toegang tot het cluster als gebruikerbeheerder
    wachtwoord Een uniek wachtwoord gebruiken dat is gekoppeld aan de gebruikersnaam

    Schermopname van clusterparameters.

    Aanbeveling

    Noteer de waarden die u gebruikt voor gebruikersnaam en wachtwoord. Deze waarden worden verderop in deze handleiding gebruikt. Zie clusterbeperkingen voor meer informatie over geldige waarden.

  7. Selecteer Volgende: Netwerkverbinding.

  8. Configureer deze opties in de sectie Firewallregels op het tabblad Netwerken :

    Waarde
    Connectiviteitsmethode Public access
    Openbare toegang vanuit Azure-services en -resources binnen Azure tot dit cluster toestaan Ingeschakeld
  9. Voeg een firewallregel toe voor uw huidige clientapparaat om toegang te verlenen tot het cluster door + Huidig client-IP-adres toe te voegen.

    Schermopname van netwerkconfiguraties.

    Aanbeveling

    In veel bedrijfsomgevingen worden IP-adressen van ontwikkelaarscomputers verborgen vanwege een VPN- of andere bedrijfsnetwerkinstellingen. In deze gevallen kunt u tijdelijk toegang tot alle IP-adressen toestaan door het 0.0.0.0 - 255.255.255.255 IP-adresbereik toe te voegen als een firewallregel. Gebruik deze firewallregel alleen tijdelijk als onderdeel van het testen en ontwikkelen van verbindingen.

  10. Kies Beoordelen + creëren.

  11. Controleer de instellingen die u opgeeft en klik vervolgens op Maken. Het duurt een paar minuten om het cluster te maken. Wacht tot de resource-implementatie is voltooid.

  12. Selecteer tot slot Ga naar de resource om naar het Azure DocumentDB-cluster in de portal te gaan.

Schermopname van de opties voor goto-resources.

Clusterreferenties ophalen

Haal de gegevens op die u gebruikt om verbinding te maken met het cluster.

  1. Selecteer op de clusterpagina de optie Verbindingsreeksen in het resourcemenu.

  2. Kopieer of noteer in de sectie Verbindingsreeksen de waarde uit het veld Verbindingsreeks .

Schermopname van de optie verbindingsreeksen.

Belangrijk

De verbindingsreeks in de portal bevat niet de wachtwoordwaarde. U moet de <password> tijdelijke aanduiding vervangen door de referenties die u hebt ingevoerd bij het maken van het cluster of door het wachtwoord interactief in te voeren.

Het project initialiseren

Maak een nieuw Maven-project in uw huidige map.

  1. Begin in een lege map.

  2. Open een terminal in de huidige map.

  3. Maak een nieuw Maven-project met behulp van het quickstart-archetype.

    mvn archetype:generate -DgroupId=com.example -DartifactId=azure-documentdb-java-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    
  4. Navigeer naar de gegenereerde projectmap.

    cd azure-documentdb-java-quickstart
    
  5. Bouw het project om ervoor te zorgen dat het succesvol is gemaakt.

    mvn compile
    

De clientbibliotheek installeren

De clientbibliotheek is beschikbaar als artefact mongodb-driver-sync via Maven.

  1. Voeg de afhankelijkheid van het MongoDB Java-stuurprogramma toe aan uw pom.xml bestand.

    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongodb-driver-sync</artifactId>
        <version>5.2.0</version>
    </dependency>
    
  2. Open het pom.xml-bestand en controleer het om te controleren of de afhankelijkheidsvermelding bestaat.

  3. Importeer de vereiste pakketten in uw toepassingscode:

    import com.mongodb.client.MongoClient;
    import com.mongodb.client.MongoClients;
    import com.mongodb.client.MongoCollection;
    import com.mongodb.client.MongoDatabase;
    import com.mongodb.client.model.Filters;
    import com.mongodb.client.model.ReplaceOptions;
    import org.bson.Document;
    import org.bson.conversions.Bson;
    
    import java.util.Arrays;
    import java.util.List;
    

Objectmodel

Naam Description
MongoClient Type dat wordt gebruikt om verbinding te maken met MongoDB.
MongoDatabase Vertegenwoordigt een database in het cluster.
MongoCollection<Document> Vertegenwoordigt een verzameling in een database in het cluster.

Codevoorbeelden

De code in deze toepassing maakt verbinding met een database met de naam adventureworks en een verzameling met de naam products. De products verzameling bevat details zoals naam, categorie, hoeveelheid, een unieke id en een verkoopvlag voor elk product. De codevoorbeelden voeren hier de meest voorkomende bewerkingen uit wanneer u met een verzameling werkt.

De client verifiëren

Maak eerst verbinding met de client met behulp van een eenvoudige verbindingsreeks.

  1. Maak de hoofdmethode en stel de verbindingsreeks in. Vervang <your-cluster-name>, <your-username>en <your-password> door de werkelijke clustergegevens.

    public class App {
        public static void main(String[] args) {
            // Connection string for Azure DocumentDB cluster
            String connectionString = "mongodb+srv://<your-username>:<your-password>@<your-cluster-name>.global.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000";
    
  2. Maak de MongoDB-client en controleer de verbinding.

            // Create a new client and connect to the server
            try (MongoClient mongoClient = MongoClients.create(connectionString)) {
    
                // Ping the server to verify connection
                MongoDatabase database = mongoClient.getDatabase("admin");
                database.runCommand(new Document("ping", 1));
    
                System.out.println("Successfully connected and pinged Azure DocumentDB");
    

Een verzameling ophalen

Haal nu uw database en verzameling op. Als de database en verzameling nog niet bestaan, gebruikt u het stuurprogramma om deze automatisch voor u te maken.

  1. Haal een verwijzing naar de database op.

                // Get database reference
                MongoDatabase adventureWorksDatabase = mongoClient.getDatabase("adventureworks");
                System.out.println("Connected to database: " + adventureWorksDatabase.getName());
    
  2. Haal een verwijzing op naar de collectie in de database.

                // Get collection reference
                MongoCollection<Document> productsCollection = adventureWorksDatabase.getCollection("products");
                System.out.println("Connected to collection: products");
    

Een document maken

Maak vervolgens een aantal nieuwe documenten in uw verzameling. Plaats de documenten om ervoor te zorgen dat bestaande documenten worden vervangen als ze al bestaan met dezelfde unieke id.

  1. Voorbeeldproductdocumenten maken met behulp van de klasse Document.

                // Create sample products
                List<Document> products = Arrays.asList(
                    new Document("_id", "00000000-0000-0000-0000-000000004018")
                        .append("name", "Windry Mittens")
                        .append("category", "apparel-accessories-gloves-and-mittens")
                        .append("quantity", 121)
                        .append("price", 35.00)
                        .append("sale", false),
                    new Document("_id", "00000000-0000-0000-0000-000000004318")
                        .append("name", "Niborio Tent")
                        .append("category", "gear-camp-tents")
                        .append("quantity", 140)
                        .append("price", 420.00)
                        .append("sale", true)
                );
    
  2. Voeg de documenten in door middel van upsert-bewerkingen.

                // Insert documents with upsert
                for (Document product : products) {
                    Bson filter = Filters.eq("_id", product.getString("_id"));
                    ReplaceOptions options = new ReplaceOptions().upsert(true);
    
                    productsCollection.replaceOne(filter, product, options);
                    System.out.println("Upserted product: " + product.getString("name"));
                }
    

Een document ophalen

Voer vervolgens een puntleesbewerking uit om een specifiek document op te halen uit uw verzameling.

  1. Definieer het filter om een specifiek document op id te zoeken.

                // Retrieve a specific document by ID
                Bson filter = Filters.eq("_id", "00000000-0000-0000-0000-000000004018");
    
  2. Voer de query uit en haal het resultaat op.

                Document retrievedProduct = productsCollection.find(filter).first();
    
                if (retrievedProduct != null) {
                    System.out.println("Retrieved product: " + retrievedProduct.getString("name") + 
                                     " - $" + retrievedProduct.getDouble("price"));
                } else {
                    System.out.println("Product not found");
                }
    

Documenten opvragen

Voer ten slotte query's uit op meerdere documenten met behulp van de MongoDB Query Language (MQL).

  1. Definieer een query om documenten te vinden die voldoen aan specifieke criteria.

                // Query for products on sale
                Bson saleFilter = Filters.eq("sale", true);
    
  2. Doorloop de cursor om alle overeenkomende documenten op te halen.

                System.out.println("Products on sale:");
                for (Document product : productsCollection.find(saleFilter)) {
                    System.out.printf("- %s: $%.2f (Category: %s)%n",
                        product.getString("name"),
                        product.getDouble("price"),
                        product.getString("category"));
                }
    
            } catch (Exception e) {
                System.err.println("An error occurred: " + e.getMessage());
                e.printStackTrace();
            }
        }
    }
    

Uw gegevens verkennen met Visual Studio Code

Gebruik de DocumentDB-extensie in Visual Studio Code om kerndatabasebewerkingen uit te voeren, zoals het uitvoeren van query's, invoegen, bijwerken en verwijderen van gegevens.

  1. Open Visual Studio Code.

  2. Navigeer naar de weergave Extensies en zoek naar de term DocumentDB. Zoek de DocumentDB-extensie voor VS Code .

  3. Selecteer de knop Installeren voor de extensie. Wacht tot de installatie is voltooid. Laad Visual Studio Code opnieuw als hierom wordt gevraagd.

  4. Navigeer naar de DocumentDB-extensie door het bijbehorende pictogram in de activiteitenbalk te selecteren.

  5. Selecteer + Nieuwe verbinding...in het deelvenster DocumentDB-verbindingen.

  6. Selecteer in het dialoogvenster ServiceDetectie en vervolgens Azure DocumentDB - Azure Service Discovery.

  7. Selecteer uw Azure-abonnement en uw zojuist gemaakte Azure DocumentDB-cluster.

    Aanbeveling

    In veel bedrijfsomgevingen worden IP-adressen van ontwikkelaarscomputers verborgen vanwege een VPN- of andere bedrijfsnetwerkinstellingen. In deze gevallen kunt u tijdelijk toegang tot alle IP-adressen toestaan door het 0.0.0.0 - 255.255.255.255 IP-adresbereik toe te voegen als een firewallregel. Gebruik deze firewallregel alleen tijdelijk als onderdeel van het testen en ontwikkelen van verbindingen. Zie Firewall configureren voor meer informatie.

  8. Vouw in het deelvenster DocumentDB-verbindingen het knooppunt voor uw cluster uit en navigeer naar uw bestaande document- en verzamelingsknooppunten.

  9. Open het contextmenu voor de verzameling en selecteer vervolgens DocumentDB Scrapbook > New DocumentDB Scrapbook.

  10. Voer de volgende MQL-opdrachten (MongoDB Query Language) in en selecteer Alles uitvoeren. Bekijk de uitvoer van de opdrachten.

    db.products.find({
      price: { $gt: 200 },
      sale: true
    })
    .sort({ price: -1 })
    .limit(3)
    

De hulpbronnen opschonen

Wanneer u klaar bent met het Azure DocumentDB-cluster, kunt u de Azure-resources verwijderen die u hebt gemaakt, zodat er geen kosten in rekening worden gebracht.

  1. Zoek en selecteer resourcegroepen in de zoekbalk van Azure Portal.

    Schermopname met de optie voor het zoeken naar resourcegroepen.

  2. Selecteer in de lijst de resourcegroep die u voor deze quickstart hebt gebruikt.

    Schermopname van de resourcegroep.

  3. Selecteer op de resourcegroep-pagina de optie Verwijder resourcegroep.

  4. Voer in het bevestigingsvenster voor verwijdering de naam van de resourcegroep in om te bevestigen dat u deze wilt verwijderen. Selecteer Ten slotte Verwijderen om de resourcegroep definitief te verwijderen.

    Schermopname van de bevestigingsknop voor het verwijderen van de resourcegroep.

  • Wat is Azure DocumentDB?