sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo crear, mostrar y soltar colecciones en MongoDB

MongoDB es una base de datos NoSQL de código abierto, lo que significa que, a diferencia de las bases de datos relacionales, no acepta valores de entrada en formato de tabla. Los datos se almacenan en colecciones y documentos ya que MongoDB es una base de datos orientada a documentos. Las filas en una tabla SQL se han reemplazado con documentos en MongoDB.

Este artículo asume que ya instaló el servidor MongoDB en su computadora y conectó un shell al servidor. Si ya lo ha hecho, podemos explorar algunas características de MongoDB, pero primero, algunas terminologías:si no, puede consultar el artículo sobre cómo instalar MongoDB en Ubuntu.

  • Base de datos: este es un contenedor físico que contiene un conjunto de colecciones. Puede contener cero o más colecciones. No hay límite en la cantidad de bases de datos que se pueden alojar en una sola instancia de servidor, ya que puede alojar varias bases de datos. Su único límite es el espacio de direcciones de la memoria virtual que puede asignar el sistema operativo subyacente.
  • Colección – un conjunto de documentos MongoDB similares a las "tablas" en los sistemas de bases de datos relacionales. Una colección contiene documentos de propósitos similares o relacionados. Las colecciones no tienen esquema, lo que significa que los documentos dentro de la misma colección pueden tener diferentes campos.
  • Documento – esta es la unidad básica para almacenar datos en MongoDB. Son análogos a ROW en los sistemas de bases de datos relacionales tradicionales. Los documentos son conjuntos ordenados de pares clave-valor, lo que significa que hay un valor asociado para cada clave. A menudo se los denomina "objetos". Se representan en un formato similar a JSON (pares clave-valor). Los datos se almacenan y consultan en una representación binaria de datos similares a JSON conocida como BSON. A continuación se muestra un ejemplo de este formato:
{
Student_enroll: “foss123”,
grade: ‘B’
}
  • Campo – este es el equivalente de las columnas en las bases de datos relacionales. Se almacena en asociación con su valor en pares clave-valor. Los documentos de una colección pueden tener cero o más campos.
  • _id – este es un campo obligatorio en cada documento de MongoDB. Si un usuario crea un documento sin un campo _id, MongoDB crea automáticamente el campo. Los _ID se utilizan para representar documentos únicos en una colección. Funcionan como claves primarias de los documentos.

Crear una base de datos MongoDB

La creación de bases de datos en MongoDB ocurre implícitamente cuando intenta usar una base de datos. Para crear una base de datos, escriba lo siguiente en el shell de mongo;

> use fossDB

Salida:

Nota: Para abrir el shell de Mongo, ejecute el siguiente comando:

mongo

MongoDB primero verificará para confirmar si está presente una base de datos llamada fossDB. De lo contrario, creará uno nuevo para ser utilizado. El shell de Mongo luego cambia a fossDB. Esto significa que cada colección y documento creado, actualizado o leído será de esta base de datos a menos que se especifique lo contrario.

Para imprimir en qué base de datos se encuentra en este momento, use el comando > db . Para listar todas las bases de datos disponibles y creadas, utilice el comando >mostrar . A continuación se muestra un ejemplo de estos comandos en uso;

>db
fossDB
>show dbs
admin  0.000GB
config  0.000GB
local    0.000GB
mydb   0.000GB

Salida:

Nota: No interfiera con las bases de datos de administración y configuración, ya que Mongo las usa con fines administrativos.

Crear una colección MongoDB

Para crear una colección, primero, asegúrese de estar en la base de datos correcta en la que desea crear la colección. Hay dos formas de crear una colección:

1. Creando una colección explícitamente

Utilice el siguiente comando:

>db.createCollection("Collection1");
{"ok":1}

Salida:

Este comando creará una colección llamada Collection1

2. Insertar un documento en una nueva colección

Puede intentar rápidamente insertar un documento en una colección inexistente. Esto le pedirá a Mongo que cree una nueva colección para usted. Tenga en cuenta que si bien esto es conveniente en términos de creación de colecciones mediante programación, si está utilizando Mongo Shell y comete un error tipográfico en algún lugar al insertar un documento, el documento puede terminar en una nueva base de datos sin que usted lo sepa.

La sintaxis para crear una nueva colección es;

db.collection_name.insert(document); 

Para crear una colección Collection2 en la base de datos fossDB, use el siguiente comando:

> db.Collection2.insert({name: "Alex",key: "value",age: 20});

Salida:

En este ejemplo, la parte del documento está representada por la siguiente cadena JSON:

{
name: "Alex",
key: "value"
age: 20
}

Estos son los pares clave-valor típicos de una cadena JSON. El "nombre" es la clave, y "Alex" es el valor. Un usuario puede tener varios documentos en esta colección con el nombre de clave y un valor diferente, digamos Max.

Use el siguiente comando para listar todas las colecciones dentro de una base de datos:

> show collections
Collection1
Collection2

Salida:

A partir de la salida, notará que se han creado ambas colecciones. Confía en que puede agregar un nuevo documento a una colección.

Mostrando colecciones

Si no lo ha notado, hemos estado usando mucho la palabra clave show mientras discutíamos los otros comandos. Para recapitular sobre esto, los comandos para mostrar colecciones y bases de datos son:

>show collections
>show dbs

Salida:

Junto con el comando db, estos comandos se utilizan para imprimir la base de datos actual y son muy útiles al interactuar con el shell de Mongo.

Eliminar colecciones y bases de datos de MongoDB

El comando soltar es una palabra clave que no hemos mencionado en este artículo. Es un comando que se utiliza para eliminar colecciones o bases de datos completas del servidor Mongo de un usuario. Para soltar, la siguiente sintaxis lo guiará a través del proceso.

1. Eliminación de colecciones

Eliminaremos la colección “Collection2” que creamos anteriormente. Esto se hace usando el siguiente comando:

>db.Collection2.drop()

Salida:

Para verificar que la colección se haya eliminado, puede usar el comando show collections para enumerar las colecciones restantes. Notará que faltará una colección en la lista.

2. Descartar bases de datos

Antes de ejecutar el comando para eliminar la base de datos, debe verificar que se encuentra en la base de datos correcta o, de lo contrario, podría deshacerse de la base de datos incorrecta y terminar perdiendo datos valiosos que no tenía la intención de eliminar. En este ejemplo, eliminaremos la base de datos fossDB que habíamos creado anteriormente. Asegurémonos de estar en la base de datos correcta usando el siguiente comando:

>db
fossDB

Salida:

luego, eliminemos la base de datos usando el siguiente comando:

>db.dropDatabase();

Salida:

A continuación vamos a presentar varios términos SQL y sus correspondientes términos MongoDB;

Términos SQL Términos de MongoDB
Base de datos Base de datos
Tabla Colección
Índice Índice
Fila Documento / Documento BSON
Columna Campo
Uniones de tablas Documentos incrustados y enlaces
Clave principal:en SQL, especifica cualquier columna única o combinación de columnas Clave principal:esta clave se establece automáticamente en el campo _id en MongoDB

Conclusión

MongoDB ha alcanzado una gran popularidad en el mundo de los desarrolladores debido a la representación, escalabilidad, facilidad y forma dinámica de crear documentos similar a JSON. Este artículo ha discutido los tres comandos utilizados en el shell de MongoDB. Esperamos que este artículo te haya ayudado a comprender mejor estos comandos. Si está buscando una base de datos para usar en un proyecto de trabajo pesado de datos, MongoDB es una buena opción que quizás desee considerar.