apuntes:mongodb
Diferencias
Muestra las diferencias entre dos versiones de la página.
| apuntes:mongodb [2019/02/02 22:57] – [Operaciones básicas] fernando | apuntes: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 | + | Con el potente crecimiento |
| - | Pero con el potente crecimiento | + | Viendo que los tradicionales SGBD Relacionales emplean demasiado tiempo en controlar la consistencia |
| - | Viendo que los tradicionales SGBD Relacionales empleaban demasiado tiempo en controlar la consistencia | + | Se caracterizan por no emplear SQL como lenguaje principal |
| + | * bbdd clave-valor | ||
| + | * bbdd de Documentos | ||
| + | * bbdd orientadas a objetos | ||
| + | * bbdd en grafo | ||
| ===== MongoDB ===== | ===== MongoDB ===== | ||
| ==== ¿Qué es MongoDB? ==== | ==== ¿Qué es MongoDB? ==== | ||
| - | [[http:// | + | [[http:// |
| La principal diferencia con los tradicionales sistemas relacionales, | La principal diferencia con los tradicionales sistemas relacionales, | ||
| ==== Estructura de una Base de Datos ==== | ==== Estructura de una Base de Datos ==== | ||
| - | Como se ha comentado, //MongoDB// almacena la información y forma el esquema de la base de datos mediante el uso de documentos //BSON// (Binary JSON), tal y como se muestra en la siguiente | + | Como se ha comentado, //MongoDB// almacena la información y forma el esquema de la base de datos mediante el uso de documentos //BSON// (Binary JSON). Los ficheros JSON son relaciones clave-valor |
| {{ jsondocument.png }} | {{ jsondocument.png }} | ||
| - | > Documento BSON en MongoDB | + | > Estructura |
| - | 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, | + | Así, el esquema en MongoDB es totalmente flexible puesto que depende solamente del documento insertado, **pudiendo tener cada documento distinta cantidad |
| ^SGBD Relacional^ MongoDB^ | ^SGBD Relacional^ MongoDB^ | ||
| Línea 30: | Línea 33: | ||
| ==== Documentos BSON ==== | ==== Documentos BSON ==== | ||
| - | BSON es una representación | + | BSON es una representación |
| - | Estos documentos de texto son ligeros y utilizan una cláve única por cada documento (campo _id). Además, su información es almacenada mediante parejas // | + | Estos documentos de texto son ligeros y utilizan una cláve única por cada documento (campo _id). Cada documento |
| === Campo _id === | === 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 '' | 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 '' | ||
| - | El tipo de datos '' | + | El tipo de datos '' |
| ===== Puesta en marcha de MongoDB ===== | ===== Puesta en marcha de MongoDB ===== | ||
| Una vez descargado el servidor [[http:// | Una vez descargado el servidor [[http:// | ||
| Línea 59: | Línea 62: | ||
| {{ : | {{ : | ||
| - | MongoDB también incluye su propio cliente GUI para administrar las bases de datos. Se llama [[https:// | + | MongoDB también incluye su propio cliente GUI para administrar las bases de datos. Se llama [[https:// |
| {{ : | {{ : | ||
| - | Además, //MongoDB// dispone de una consola cliente que podemos lanzar ejecutando el comando '' | + | Además, // |
| * En Windows | * En Windows | ||
| Línea 145: | Línea 148: | ||
| <code java> | <code java> | ||
| MongoClient mongoClient = new MongoClient(); | MongoClient mongoClient = new MongoClient(); | ||
| - | MongoDatabase db = mongoClient.getDatabase(" | + | //O si quiero abrir conexiones con un servidor remoto |
| + | MongoClient mongoClient = new MongoClient( " | ||
| + | |||
| + | // | ||
| + | MongoDatabase db = mongoClient.getDatabase(" | ||
| //Y si queremos trabajar directamente con una coleccion concreta | //Y si queremos trabajar directamente con una coleccion concreta | ||
| Línea 154: | Línea 161: | ||
| === Desconectar de la Base de Datos === | === Desconectar de la Base de Datos === | ||
| - | Nos debemos asegurar | + | Debemos asegurarnos |
| <code java> | <code java> | ||
| mongoClient.close() | mongoClient.close() | ||
| Línea 209: | Línea 216: | ||
| === Operaciones de modificacion === | === Operaciones de modificacion === | ||
| - | * // | + | * // |
| - | * // | + | * // |
| - | * // | + | * // |
| Ejemplo desde consola | Ejemplo desde consola | ||
| Línea 255: | Línea 263: | ||
| <code java> | <code java> | ||
| - | db.getCollection(" | + | //Para borrar un solo documento debemos utilizar un valor para un campo único (_id) |
| + | db.getCollection(" | ||
| + | |||
| + | db.getCollection(" | ||
| </ | </ | ||
| Línea 290: | Línea 302: | ||
| FindIterable findIterable = db.getCollection(" | FindIterable findIterable = db.getCollection(" | ||
| - | //Recorrer el conjunto de resultado | + | //Recorrer el conjunto de resultados |
| Iterator< | Iterator< | ||
| Línea 309: | Línea 321: | ||
| </ | </ | ||
| + | ==== Operaciones de consulta avanzada ==== | ||
| Podemos establecer distintos criterios de busqueda | Podemos establecer distintos criterios de busqueda | ||
| - | REVISAR | + | |
| En la documentación de mondoDB tenemos un [[http:// | En la documentación de mondoDB tenemos un [[http:// | ||
apuntes/mongodb.1549148249.txt.gz · Última modificación: (editor externo)
