Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Dans ce guide de démarrage rapide, vous allez créer une application Azure DocumentDB de base à l’aide de Node.js. Azure DocumentDB est un magasin de données NoSQL qui permet aux applications de stocker des documents dans le cloud et d’y accéder à l’aide de pilotes MongoDB officiels. Ce guide montre comment créer des documents et effectuer des tâches de base dans votre cluster Azure DocumentDB à l’aide de Node.js.
Informations de référence sur | l’APICode source | Package (npm)
Prerequisites
Un abonnement Azure
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuit
- Node.js 22 ou version ultérieure
Créer un cluster Azure DocumentDB
Pour commencer, vous devez d’abord créer un cluster Azure DocumentDB, qui sert de base pour le stockage et la gestion de vos données NoSQL.
Connectez-vous au portail Azure (https://portal.azure.com).
Dans le menu du portail Azure ou dans la page d’accueil, sélectionnez Créer une ressource.
Dans la nouvelle page, recherchez et sélectionnez Azure DocumentDB.
Dans la page Créer un cluster Azure DocumentDB et dans la section Informations de base , sélectionnez l’option Configurer dans la section Niveau cluster .
Dans la page Mise à l’échelle , configurez ces options, puis sélectionnez Enregistrer pour conserver vos modifications au niveau du cluster.
Valeur Niveau de cluster M30 tier, 2 vCore, 8-GiB RAMStockage par partition 128 GiB
De retour dans la section Informations de base , configurez les options suivantes :
Valeur Subscription Sélectionnez votre abonnement Azure. Groupe de ressources Créer un groupe de ressources ou en sélectionner un Nom du cluster Fournir un nom globalement unique Lieu Sélectionnez une région Azure prise en charge pour votre abonnement Version de MongoDB Sélectionnez 8.0Nom d'utilisateur administrateur Créer un nom d’utilisateur pour accéder au cluster en tant qu’administrateur utilisateur Mot de passe Utiliser un mot de passe unique associé au nom d’utilisateur
Conseil / Astuce
Enregistrez les valeurs que vous utilisez pour le nom d’utilisateur et le mot de passe. Ces valeurs sont utilisées plus loin dans ce guide. Pour plus d’informations sur les valeurs valides, consultez limitations du cluster.
Sélectionnez Suivant : Mise en réseau.
Dans la section Règles de pare-feu de l’onglet Mise en réseau , configurez ces options :
Valeur Méthode de connectivité Public accessAutoriser l’accès public à partir de services et de ressources Azure au sein d’Azure à ce cluster Activé Ajoutez une règle de pare-feu pour votre appareil client actuel pour accorder l’accès au cluster en sélectionnant + Ajouter une adresse IP cliente actuelle.
Conseil / Astuce
Dans de nombreux environnements d’entreprise, les adresses IP de l’ordinateur du développeur sont masquées en raison d’un VPN ou d’autres paramètres réseau d’entreprise. Dans ces cas, vous pouvez autoriser temporairement l’accès à toutes les adresses IP en ajoutant la
0.0.0.0-255.255.255.255plage d’adresses IP en tant que règle de pare-feu. Utilisez cette règle de pare-feu uniquement temporairement dans le cadre du test et du développement de connexions.Sélectionnez Vérifier + créer.
Passez en revue les paramètres que vous fournissez, puis sélectionnez Créer. La création du cluster ne prend que quelques minutes. Attendez que le déploiement des ressources soit terminé.
Enfin, sélectionnez Accéder à la ressource pour accéder au cluster Azure DocumentDB dans le portail.
Obtenir les informations d’identification du cluster
Obtenez les informations d’identification que vous utilisez pour vous connecter au cluster.
Dans la page du cluster, sélectionnez l’option Chaînes de connexion dans le menu de ressources.
Dans la section Chaînes de connexion, copiez ou enregistrez la valeur à partir du champ Chaîne de connexion .
Important
La chaîne de connexion dans le portail n’inclut pas la valeur du mot de passe. Vous devez remplacer l’espace <password> réservé par les informations d’identification que vous avez entrées lors de la création du cluster ou entrer le mot de passe de manière interactive.
Initialiser le projet
Créez un projet Node.js dans votre répertoire actif.
Démarrez dans un répertoire vide.
Ouvrez un terminal dans le répertoire actif.
Initialisez un projet Node.js.
npm init -yInstallez TypeScript et initialisez la configuration TypeScript (facultatif pour la prise en charge de TypeScript).
npm install -D typescript @types/node npx tsc --init
Installer la bibliothèque de client
La bibliothèque cliente est disponible via npm, en tant que package mongodb.
Installez le pilote mongoDB Node.js à l’aide de npm.
npm install mongodbOuvrez et examinez le fichier package.json pour vérifier que l’entrée de package existe.
Importez les modules requis dans votre code d’application :
import { MongoClient, Db, Collection, Document } from 'mongodb';const { MongoClient } = require('mongodb');
Modèle d'objet
| Nom | Descriptif |
|---|---|
MongoClient |
Type utilisé pour se connecter à MongoDB. |
Db |
Représente une base de données dans le cluster. |
Collection<Document> |
Représente une collection au sein d’une base de données dans le cluster. |
Exemples de code
- Authentifier le client
- Obtention d’une collection
- Créer un document
- Récupérer un document
- Interroger des documents
Le code de cette application se connecte à une base de données nommée adventureworks et à une collection nommée products. La products collection contient des détails tels que le nom, la catégorie, la quantité, un identificateur unique et un indicateur de vente pour chaque produit. Les exemples de code ici effectuent les opérations les plus courantes lors de l’utilisation d’une collection.
Authentifier le client
Tout d’abord, connectez-vous au client à l’aide d’une chaîne de connexion de base.
Créez la fonction principale et configurez la chaîne de connexion. Remplacez
<your-cluster-name>,<your-username>et<your-password>par vos informations de cluster réelles.async function main(): Promise<void> { // Connection string for Azure DocumentDB cluster const 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"; // Create a new client and connect to the server const client = new MongoClient(connectionString);async function main() { // Connection string for Azure DocumentDB cluster const 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"; // Create a new client and connect to the server const client = new MongoClient(connectionString);Connectez-vous au client MongoDB et vérifiez la connexion.
try { // Connect to the MongoDB cluster await client.connect(); // Ping the server to verify connection await client.db("admin").command({ ping: 1 }); console.log("Successfully connected and pinged Azure DocumentDB");try { // Connect to the MongoDB cluster await client.connect(); // Ping the server to verify connection await client.db("admin").command({ ping: 1 }); console.log("Successfully connected and pinged Azure DocumentDB");
Obtenez une collection
À présent, obtenez votre base de données et votre collection. Si la base de données et la collection n’existent pas déjà, utilisez le pilote pour le créer automatiquement.
Obtenez une référence à la base de données.
// Get database reference const database: Db = client.db("adventureworks"); console.log(`Connected to database: ${database.databaseName}`);// Get database reference const database = client.db("adventureworks"); console.log(`Connected to database: ${database.databaseName}`);Obtenez une référence à la collection dans la base de données.
// Get collection reference const collection: Collection<Document> = database.collection("products"); console.log("Connected to collection: products");// Get collection reference const collection = database.collection("products"); console.log("Connected to collection: products");
Créer un document
Ensuite, créez quelques documents au sein de votre collection. Utilisez la fonction Upsert pour insérer les documents et remplacer tout document existant possédant le même identifiant unique.
Créez des exemples de documents de produit.
// Create sample products interface Product { _id: string; name: string; category: string; quantity: number; price: number; sale: boolean; } const products: Product[] = [ { _id: "00000000-0000-0000-0000-000000004018", name: "Windry Mittens", category: "apparel-accessories-gloves-and-mittens", quantity: 121, price: 35.00, sale: false, }, { _id: "00000000-0000-0000-0000-000000004318", name: "Niborio Tent", category: "gear-camp-tents", quantity: 140, price: 420.00, sale: true, } ];// Create sample products const products = [ { _id: "00000000-0000-0000-0000-000000004018", name: "Windry Mittens", category: "apparel-accessories-gloves-and-mittens", quantity: 121, price: 35.00, sale: false, }, { _id: "00000000-0000-0000-0000-000000004318", name: "Niborio Tent", category: "gear-camp-tents", quantity: 140, price: 420.00, sale: true, } ];Insérez les documents en utilisant les opérations d'insertion/mise à jour.
// Insert documents with upsert for (const product of products) { const filter = { _id: product._id }; const options = { upsert: true }; await collection.replaceOne(filter, product, options); console.log(`Upserted product: ${product.name}`); }// Insert documents with upsert for (const product of products) { const filter = { _id: product._id }; const options = { upsert: true }; await collection.replaceOne(filter, product, options); console.log(`Upserted product: ${product.name}`); }
Récupérer un document
Ensuite, effectuez une opération de lecture de point pour récupérer un document spécifique à partir de votre collection.
Définissez le filtre pour rechercher un document spécifique par ID.
// Retrieve a specific document by ID const filter = { _id: "00000000-0000-0000-0000-000000004018" };// Retrieve a specific document by ID const filter = { _id: "00000000-0000-0000-0000-000000004018" };Exécutez la requête et récupérez le résultat.
const retrievedProduct = await collection.findOne(filter); if (retrievedProduct) { console.log(`Retrieved product: ${retrievedProduct.name} - $${retrievedProduct.price}`); } else { console.log("Product not found"); }const retrievedProduct = await collection.findOne(filter); if (retrievedProduct) { console.log(`Retrieved product: ${retrievedProduct.name} - $${retrievedProduct.price}`); } else { console.log("Product not found"); }
Interroger des documents
Enfin, interrogez plusieurs documents à l’aide du langage de requête MongoDB (MQL).
Définissez une requête pour rechercher des documents correspondant à des critères spécifiques.
// Query for products on sale const saleFilter = { sale: true }; const saleProducts = await collection.find(saleFilter).toArray();// Query for products on sale const saleFilter = { sale: true }; const saleProducts = await collection.find(saleFilter).toArray();Effectuez une itération dans les résultats pour afficher les documents correspondants.
console.log("Products on sale:"); for (const product of saleProducts) { console.log(`- ${product.name}: $${product.price.toFixed(2)} (Category: ${product.category})`); } } catch (error) { console.error("An error occurred:", error); } finally { await client.close(); } } main().catch(console.error);console.log("Products on sale:"); for (const product of saleProducts) { console.log(`- ${product.name}: $${product.price.toFixed(2)} (Category: ${product.category})`); } } catch (error) { console.error("An error occurred:", error); } finally { await client.close(); } } main().catch(console.error);
Explorer vos données à l’aide de Visual Studio Code
Utilisez l’extension DocumentDB dans Visual Studio Code pour effectuer des opérations de base de données principales, notamment l’interrogation, l’insertion, la mise à jour et la suppression de données.
Ouvrez Visual Studio Code.
Accédez à la vue Extensions et recherchez le terme
DocumentDB. Recherchez l’extension DocumentDB pour VS Code .Sélectionnez le bouton Installer pour l’extension. Attendez la fin de l’installation. Rechargez Visual Studio Code si vous y êtes invité.
Accédez à l’extension DocumentDB en sélectionnant l’icône correspondante dans la barre d’activité.
Dans le volet Connexions DocumentDB , sélectionnez + Nouvelle connexion....
Dans la boîte de dialogue, sélectionnez Service Discovery , puis Azure DocumentDB - Azure Service Discovery.
Sélectionnez votre abonnement Azure et votre cluster Azure DocumentDB nouvellement créé.
Conseil / Astuce
Dans de nombreux environnements d’entreprise, les adresses IP de l’ordinateur du développeur sont masquées en raison d’un VPN ou d’autres paramètres réseau d’entreprise. Dans ces cas, vous pouvez autoriser temporairement l’accès à toutes les adresses IP en ajoutant la
0.0.0.0-255.255.255.255plage d’adresses IP en tant que règle de pare-feu. Utilisez cette règle de pare-feu uniquement temporairement dans le cadre du test et du développement de connexions. Pour plus d’informations, consultez configurer le pare-feu.De retour dans le volet Connexions DocumentDB , développez le nœud de votre cluster et accédez à vos nœuds de document et de collection existants.
Ouvrez le menu contextuel de la collection, puis sélectionnez DocumentDB Scrapbook New DocumentDB Scrapbook>.
Entrez les commandes MQL (MongoDB Query Language) suivantes, puis sélectionnez Exécuter tout. Observez la sortie des commandes.
db.products.find({ price: { $gt: 200 }, sale: true }) .sort({ price: -1 }) .limit(3)
Nettoyer les ressources
Lorsque vous avez terminé avec le cluster Azure DocumentDB, vous pouvez supprimer les ressources Azure que vous avez créées afin de ne pas entraîner de frais supplémentaires.
Depuis la barre de recherche du portail Azure, recherchez et sélectionnez Groupes de ressources.
Dans la liste, sélectionnez le groupe de ressources utilisé dans ce démarrage rapide.
Sur la page Groupe de ressources, sélectionnez Supprimer un groupe de ressources.
Dans la boîte de dialogue de confirmation de la suppression, entrez le nom du groupe de ressources pour confirmer votre intention de le supprimer. Enfin, sélectionnez Supprimer pour supprimer définitivement le groupe de ressources.