Introducció a MongoDB Atlas
MongoDB Atlas és una plataforma de base de dades com a servei (DBaaS) completament gestionada que permet desplegar, gestionar i escalar bases de dades MongoDB a la infraestructura de núvol de la teva elecció (AWS, Google Cloud, Azure). Atlas s'encarrega de les tasques operatives, com ara la configuració, la gestió de la infraestructura, la seguretat i les còpies de seguretat, permetent-te centrar-te en el desenvolupament de la teva aplicació.
Característiques Clau de MongoDB Atlas
- Desplegament Automatitzat: Configuració ràpida i fàcil de clústers MongoDB.
- Escalabilitat: Escala automàticament la capacitat de la base de dades segons les necessitats.
- Alta Disponibilitat: Configuració de rèpliques per garantir la disponibilitat contínua.
- Seguretat: Xifrat de dades, controls d'accés i altres mesures de seguretat.
- Monitorització i Alertes: Eines integrades per monitoritzar el rendiment i rebre alertes.
- Còpies de Seguretat i Restauració: Còpies de seguretat automàtiques i restauració fàcil.
Configuració de MongoDB Atlas
Pas 1: Crear un Compte a MongoDB Atlas
- Visita el lloc web de MongoDB Atlas: MongoDB Atlas.
- Registra't per obtenir un compte gratuït o inicia sessió si ja tens un compte.
Pas 2: Crear un Clúster
- Després d'iniciar sessió, fes clic a "Build a New Cluster".
- Selecciona la infraestructura de núvol (AWS, Google Cloud, Azure).
- Tria la regió on vols desplegar el clúster.
- Configura les opcions del clúster (tipus de màquina, nombre de rèpliques, etc.).
- Fes clic a "Create Cluster".
Pas 3: Configurar l'Accés a la Base de Dades
- Afegeix una adreça IP a la llista blanca per permetre l'accés al clúster.
- Crea un usuari de base de dades amb permisos adequats.
Pas 4: Connectar-se al Clúster
- Fes clic a "Connect" al clúster que has creat.
- Selecciona la teva opció de connexió (MongoDB Shell, aplicació, etc.).
- Segueix les instruccions per obtenir la cadena de connexió.
Exemple Pràctic: Connectar-se a MongoDB Atlas amb Node.js
Instal·lació del Client MongoDB
Codi d'Exemple
const { MongoClient } = require('mongodb'); // Cadena de connexió obtinguda de MongoDB Atlas const uri = "your-mongodb-atlas-connection-string"; async function main() { const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); try { // Connectar-se al clúster await client.connect(); // Seleccionar la base de dades i la col·lecció const database = client.db('sample_database'); const collection = database.collection('sample_collection'); // Inserir un document const result = await collection.insertOne({ name: "MongoDB Atlas", type: "Database as a Service" }); console.log(`Document inserit amb l'ID: ${result.insertedId}`); // Llegir documents const documents = await collection.find({}).toArray(); console.log('Documents:', documents); } finally { // Tancar la connexió await client.close(); } } main().catch(console.error);
Explicació del Codi
- Importació del Client MongoDB: Importem el mòdul
MongoClient
de la llibreriamongodb
. - Cadena de Connexió: Utilitzem la cadena de connexió proporcionada per MongoDB Atlas.
- Funció Principal: Definim una funció
main
que conté la lògica per connectar-se al clúster, interactuar amb la base de dades i tancar la connexió. - Connexió al Clúster: Utilitzem
client.connect()
per establir la connexió. - Selecció de Base de Dades i Col·lecció: Seleccionem la base de dades i la col·lecció amb
client.db
idatabase.collection
. - Inserció de Document: Inserim un document a la col·lecció amb
collection.insertOne
. - Lectura de Documents: Llegim tots els documents de la col·lecció amb
collection.find().toArray()
. - Tancament de la Connexió: Utilitzem
client.close()
per tancar la connexió.
Exercici Pràctic
Objectiu
Crear una aplicació Node.js que es connecti a un clúster MongoDB Atlas, inserteixi diversos documents i els llegeixi.
Instruccions
- Crea un nou projecte Node.js.
- Instal·la la llibreria
mongodb
. - Utilitza la cadena de connexió proporcionada per MongoDB Atlas.
- Inserta tres documents a una col·lecció.
- Llegeix i mostra tots els documents de la col·lecció.
Solució
const { MongoClient } = require('mongodb'); const uri = "your-mongodb-atlas-connection-string"; async function main() { const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); try { await client.connect(); const database = client.db('sample_database'); const collection = database.collection('sample_collection'); const documents = [ { name: "Document 1", type: "Example" }, { name: "Document 2", type: "Example" }, { name: "Document 3", type: "Example" } ]; const result = await collection.insertMany(documents); console.log(`${result.insertedCount} documents inserits`); const allDocuments = await collection.find({}).toArray(); console.log('Documents:', allDocuments); } finally { await client.close(); } } main().catch(console.error);
Explicació de la Solució
- Creació de Documents: Definim un array
documents
amb tres documents. - Inserció de Múltiples Documents: Utilitzem
collection.insertMany
per inserir els documents. - Lectura de Documents: Utilitzem
collection.find().toArray()
per llegir tots els documents de la col·lecció.
Conclusió
MongoDB Atlas simplifica la gestió de bases de dades MongoDB al núvol, permetent-te centrar-te en el desenvolupament de la teva aplicació. Amb les seves característiques avançades, com la replicació, l'escalabilitat automàtica i la seguretat integrada, Atlas és una opció excel·lent per a projectes de qualsevol mida. En aquest mòdul, hem après a configurar un clúster MongoDB Atlas, connectar-nos-hi des d'una aplicació Node.js i realitzar operacions bàsiques de base de dades.
Curs de MongoDB
Mòdul 1: Introducció a MongoDB
Mòdul 2: Operacions CRUD a MongoDB
Mòdul 3: Modelatge de Dades a MongoDB
Mòdul 4: Indexació i Agregació
Mòdul 5: Funcions Avançades de MongoDB
Mòdul 6: Rendiment i Seguretat
- Optimització del Rendiment
- Còpia de Seguretat i Restauració
- Millors Pràctiques de Seguretat
- Monitorització i Alertes