Configurando una base de datos en MongoDB
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