Herramientas de usuario

Herramientas del sitio


apuntes:mongodb

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

apuntes:mongodb [2019/02/11 13:35] – [Conexion con MongoDB] fernandoapuntes:mongodb [2024/09/16 16:03] (actual) – editor externo 127.0.0.1
Línea 2: Línea 2:
  
 ===== Introducción a las Bases de Datos NoSQL ===== ===== Introducción a las Bases de Datos NoSQL =====
-Los sistemas de bases de datos relacionales se llevan utilizando desde la década de los 70. Su principal característica es la consistencia e integridad de sus datos debido al control de las relaciones entre estos y las restricciones.+Con el potente crecimiento de las redes sociales, se ha necesitado dar respuestas rápidas a una cantidad elevada de clientes, con peticiones de enormes colecciones de datos.
  
-Pero con el potente crecimiento de las redes socialesempresas como //Google////Amazon//, //Twitter// o //Facebook// debían enfrentarse a la necesidad de procesar grandes volúmenes de datos con estructuras más o menos similaresCon el crecimiento de la web, se debía dar respuesta a peticiciones de un número elevado de usuarios en el menor tiempo posible+Viendo que los tradicionales SGBD Relacionales emplean demasiado tiempo en controlar la consistencia de los datos (relacionesrestricciones)se necesita un mayor rendimiento a la hora de obtener muchos datos en tiempo realDe estas necesidades surgen las bases de datos **NoSQL** (Not Only SQL).
  
-Viendo que los tradicionales SGBD Relacionales empleaban demasiado tiempo en controlar la consistencia de los datos, se necesitaba un mayor rendimiento a la hora de gestionar los datos en tiempo real.+Se caracterizan por no emplear SQL como lenguaje principal de consulta. Existen diferentes tipos de bbdd NoSql: 
 +  * bbdd clave-valor 
 +  * bbdd de Documentos 
 +  * bbdd orientadas a objetos 
 +  * bbdd en grafo 
 ===== MongoDB ===== ===== MongoDB =====
  
 ==== ¿Qué es MongoDB? ==== ==== ¿Qué es MongoDB? ====
  
-[[http://mongodb.com|MongoDB]] es una base de datos de código abierto orientada a documentos, clasificada como un SGBD NoSQL. Utiliza documentos basados en JSON (JavaScript Object Notation) para almacenar informacion en la base de datos.+[[http://mongodb.com|MongoDB]] es un sistema gestor de bases de datos NoSQL de código abierto, orientado a documentos. Utiliza documentos basados en JSON (JavaScript Object Notation) para almacenar informacion en la base de datos.
  
 La principal diferencia con los tradicionales sistemas relacionales, es la flexibilidad a la hora de modificar la estructura de los datos almacenados. Los documentos almacenados en una base de datos (colección) pueden tener diferentes campos. La principal diferencia con los tradicionales sistemas relacionales, es la flexibilidad a la hora de modificar la estructura de los datos almacenados. Los documentos almacenados en una base de datos (colección) pueden tener diferentes campos.
Línea 20: Línea 24:
 > Estructura Documento BSON > Estructura Documento BSON
  
-Así, el esquema en MongoDB es totalmente flexible puesto que no obliga a diseñar un esquema o modelo antes de poder comenzar a registrar información. De esa forma es mucho más fácil mapear los documentos con objetos en nuestra aplicación, puesto que es fácil adaptarnos a los cambios que estos últimos puedan sufrir.+Así, el esquema en MongoDB es totalmente flexible puesto que depende solamente del documento insertado, **pudiendo tener cada documento distinta cantidad de campos**. De esa forma es mucho más fácil mapear los documentos con objetos en nuestra aplicación, puesto que es fácil adaptarnos a los cambios que estos últimos puedan sufrir.
  
 ^SGBD Relacional^ MongoDB^ ^SGBD Relacional^ MongoDB^
Línea 29: Línea 33:
  
 ==== Documentos BSON  ==== ==== Documentos BSON  ====
-BSON es una representación binario de documentos tipo JSON. Permite integrar sub-documentos así como el uso de arrays, pero también permite representar [[https://docs.mongodb.com/manual/reference/bson-types/|tipos de datos]] a diferencia de JSON. +BSON es una representación binaria de documentos tipo JSON. Permite integrar sub-documentos así como el uso de arrays, pero también permite representar [[https://docs.mongodb.com/manual/reference/bson-types/|tipos de datos]] a diferencia de JSON. 
  
 Estos documentos de texto son ligeros y utilizan una cláve única por cada documento (campo _id). Cada documento está formado por campos únicos (claves) a los que se les da un valor, lo que permite la recuperación de la información de forma muy rápida.  Estos documentos de texto son ligeros y utilizan una cláve única por cada documento (campo _id). Cada documento está formado por campos únicos (claves) a los que se les da un valor, lo que permite la recuperación de la información de forma muy rápida. 
Línea 36: Línea 40:
 En MongoDB, cada documento almacenado en una colección requiere un identificador único que actúa de forma similar a una //clave primaria//. Si se omite este campo en un documento insertado en una colección, MongoDB genera automáticamente un valor ''ObjectId'' para el campo ''_id''. En MongoDB, cada documento almacenado en una colección requiere un identificador único que actúa de forma similar a una //clave primaria//. Si se omite este campo en un documento insertado en una colección, MongoDB genera automáticamente un valor ''ObjectId'' para el campo ''_id''.
  
-El tipo de datos ''ObjectID'' de los documentos BSON es un valor de 12 bytes único, fácil y rápido de generar y está ordenado.+El tipo de datos ''ObjectID'' de los documentos BSON es un valor de 12 bytes único, fácil y rápido de generary está ordenado.
 ===== Puesta en marcha de MongoDB ===== ===== Puesta en marcha de MongoDB =====
 Una vez descargado el servidor [[http://www.mongodb.org|MongoDB Server]], para ponerlo en marcha tendremos que crear la ruta donde queremos que se almacenen nuestras bases de datos. Y a continuación, lanzar el servidor ejecutando el siguiente comando: Una vez descargado el servidor [[http://www.mongodb.org|MongoDB Server]], para ponerlo en marcha tendremos que crear la ruta donde queremos que se almacenen nuestras bases de datos. Y a continuación, lanzar el servidor ejecutando el siguiente comando:
Línea 212: Línea 216:
 === Operaciones de modificacion === === Operaciones de modificacion ===
  
-  * //db.collection.updateOne()// +  * //db.collection.replaceOne()//: Sustituir un documento completo 
-  * //db.collection.updateMany()// +  * //db.collection.updateOne()// : Actualizar campos en un documento 
-  * //db.collection.replaceOne()//+  * //db.collection.updateMany()//: Actualizar campos en varios documento 
  
 Ejemplo desde consola Ejemplo desde consola
Línea 258: Línea 263:
  
 <code java> <code java>
-db.getCollection("libros").deleteOne(new Document("titulo", "Secuestrado"));+//Para borrar un solo documento debemos utilizar un valor para un campo único (_id) 
 +db.getCollection("libros").deleteOne(new Document("_id", "345367")); 
 + 
 +db.getCollection("libros").deleteMany(new Document("autor", "Reverte")); 
 </code> </code>
  
apuntes/mongodb.1549892120.txt.gz · Última modificación: 2024/09/16 16:05 (editor externo)