Overview
En esta guía, puedes aprender a interactuar con las bases de datos y colecciones de MongoDB mediante el controlador de Node.js.
MongoDB organiza los datos en una jerarquía de los siguientes niveles:
Bases de datos: Estructuras de datos de nivel superior en una implementación de MongoDB que almacenan colecciones.
Colecciones: Grupos de documentos de MongoDB. Son análogos a las tablas en bases de datos relacionales.
Documentos: Unidades que almacenan datos literales como cadenas, números, fechas y otros documentos incrustados. Para obtener más información sobre los tipos y la estructura de los campos de documento, consulte Entrada dedocumentos en el manual del servidor MongoDB.
Acceder a una base de datos
Puede acceder a una base de datos llamando al db() método en una instancia MongoClient.
El siguiente ejemplo accede a una base de datos llamada "test_database":
const database = client.db("test_database");
Acceder a una colección
Puedes acceder a una colección llamando al método collection() en una instancia Db.
El siguiente ejemplo accede a una colección llamada "test_collection":
const collection = database.collection("test_collection");
Tip
Si el nombre de la colección proporcionado aún no existe en la base de datos, MongoDB crea implícitamente la colección cuando se insertan datos en ella por primera vez.
Crear una colección
Para crear una colección de forma explícita, llama al método createCollection() en una instancia Db.
El siguiente ejemplo crea una colección llamada "example_collection":
const createColl = await database.createCollection("example_collection");
Puedes especificar opciones de colección, como el tamaño máximo y las reglas de validación de documentos, pasando una instancia de CreateCollectionOptions al método createCollection(). Para ver una lista completa de parámetros opcionales, consulta la entrada crear un comando en el manual de MongoDB Server.
Obtén una lista de colecciones
Puedes ejecutar un query sobre una lista de colecciones en una base de datos al invocar el método de listCollections() en una instancia de Db.
El siguiente ejemplo enumera todas las colecciones en una base de datos:
const colls = database.listCollections(); for await (const doc of colls) { console.log(doc) }
{ name: 'example_collection', type: 'collection', options: {}, info: { readOnly: false, uuid: new UUID('...') }, idIndex: { v: 2, key: { _id: 1 }, name: '_id_' } } { name: 'test_collection', type: 'collection', options: {}, info: { readOnly: false, uuid: new UUID('...') }, idIndex: { v: 2, key: { _id: 1 }, name: '_id_' } }
Para hacer un query de solo los nombres de las colecciones en la base de datos, pasa la opción nameOnly al método listCollections() y establece su valor en true, como se muestra en el siguiente código:
const names = database.listCollections({}, { nameOnly: true }); for await (const doc of names) { console.log(doc) }
{ name: 'example_collection', type: 'collection' } { name: 'test_collection', type: 'collection' }
Tip
Para obtener más información sobre cómo iterar sobre un cursor, consulte la Guíade acceso a datos desde un cursor.
Borrar una colección
Puedes borrar una colección llamando al método drop() en una instancia de Collection.
El siguiente ejemplo elimina la colección "test_collection":
const collectionToDelete = database.collection("test_collection"); await collectionToDelete.drop();
Advertencia
Eliminar una colección borra todos los datos de la colección
Borrar una colección de la base de datos borra permanentemente todos los documentos y todos los índices dentro de esa colección.
Descartar una colección solo si los datos que contiene ya no son necesarios.
Borrar una base de datos
Se puede eliminar una base de datos del clúster llamando al método dropDatabase() en una instancia Database.
El siguiente ejemplo borra la base de datos "test_database":
const database = client.db("test_database"); await database.dropDatabase();
Advertencia
Borrar una base de datos borra todos los datos de la base de datos.
Borrar una base de datos borra permanentemente todas las colecciones, documentos e índices dentro de esa base de datos.
Descarta una base de datos solo si los datos que contiene ya no son necesarios.
Documentación de la API
Para aprender más sobre cualquiera de los tipos o métodos discutidos en esta guía, consulta la siguiente documentación de la API: