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
MongoClientde la llibreriamongodb. - Cadena de Connexió: Utilitzem la cadena de connexió proporcionada per MongoDB Atlas.
- Funció Principal: Definim una funció
mainque 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.dbidatabase.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
documentsamb tres documents. - Inserció de Múltiples Documents: Utilitzem
collection.insertManyper 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
