Configurando una base de datos en MongoDB

Avatar Tutor | octubre 24, 2018

Los datos en MongoDB pueden tener un esquema flexible dentro de la misma colección. No es necesario que tengan el mismo conjunto de campos o estructura, y los campos comunes en los documentos de una colección pueden contener diferentes tipos de datos.

Modelado de datos

Algunas consideraciones al diseñar el esquema en MongoDB:

  • Diseña tu esquema de acuerdo a los requerimientos del usuario.
  • Combine los objetos en un solo documento si los usará juntos. De lo contrario, sepárelos (pero asegúrese de que no haya necesidad de uniones).
  • Duplique los datos (pero limitado) porque el espacio en disco es barato en comparación con el tiempo de cálculo.
  • Optimice su esquema para los casos de uso más frecuentes.
  • Haga agregación compleja en el esquema.

Ejemplo

Supongamos que un cliente necesita un diseño de base de datos para su blog / sitio web y ve las diferencias entre RDBMS y el diseño de esquema de MongoDB. Sitio web tiene los siguientes requisitos.

  • Cada publicación tiene el título único, descripción y url.
  • Cada publicación puede tener una o más etiquetas.
  • Cada publicación tiene el nombre de su editor y el número total de “me gusta”.
  • Cada publicación tiene comentarios proporcionados por los usuarios junto con su nombre, mensaje, tiempo de datos y me gusta.
  • En cada publicación, puede haber cero o más comentarios.

En el esquema RDBMS, el diseño para los requisitos anteriores tendrá un mínimo de tres tablas.

Mientras que en el esquema MongoDB, el diseño tendrá una publicación de recopilación y la siguiente estructura:

{
   _id: POST_ID
   title: TITLE_OF_POST, 
   description: POST_DESCRIPTION,
   by: POST_BY,
   url: URL_OF_POST,
   tags: [TAG1, TAG2, TAG3],
   likes: TOTAL_LIKES, 
   comments: [	
      {
         user:'COMMENT_BY',
         message: TEXT,
         dateCreated: DATE_TIME,
         like: LIKES 
      },
      {
         user:'COMMENT_BY',
         message: TEXT,
         dateCreated: DATE_TIME,
         like: LIKES
      }
   ]
}

Crear una base de datos

El comando use de MongoDB con DATABASE_NAME se utiliza para crear la base de datos. El comando creará una nueva base de datos si no existe, de lo contrario, devolverá la base de datos existente.

Sintaxis

La sintaxis básica de uso de la instrucción DATABASE es la siguiente:

use DATABASE_NAME

Eliminar una base de datos

El comando MongoDB db.dropDatabase () se usa para eliminar una base de datos existente.

Sintaxis

La sintaxis básica del comando dropDatabase () es la siguiente:

db.dropDatabase()

Esto borrará la base de datos seleccionada. Si no ha seleccionado ninguna base de datos, se eliminará la base de datos predeterminada de “prueba”.

Ejemplo

Primero, verifique la lista de bases de datos disponibles con el comando, show dbs.

> show dbs
local  0.78125GB
mydb 0.23012GB
prueba 0.23012GB
>

Si desea eliminar la nueva base de datos , el comando dropDatabase () sería el siguiente:

>use mydb
switched to db mydb
>db.dropDatabase()
>{ "dropped" : "mydb", "ok" : 1 }
>

Crear una colección

MongoDB db.createCollection (nombre, opciones) se utiliza para crear una colección.

Sintaxis

La sintaxis básica del comando createCollection () es la siguiente:

db.createCollection (nombre, opciones)

En el comando, nombre es el nombre de la colección que se creará. Opciones es un documento y se utiliza para especificar la configuración de la colección.

La sintaxis básica del método createCollection () sin opciones es la siguiente:

>use test
switched to db test
>db.createCollection("mycollection")
{ "ok" : 1 }
>

Eliminar una colección

El comando MongoDB db.collection.drop() se usa para eliminar una colección de la base de datos.

Sintaxis

La sintaxis básica del comando drop() es la siguiente:

db.COLLECTION_NAME.drop()

Written by Tutor