Sunteți pe pagina 1din 26

Índice

Introducción .................................................................................................................................. 2
Objetivos del proyecto .................................................................................................................. 2
Análisis........................................................................................................................................... 2
Casos de uso .............................................................................................................................. 3
Cloud ......................................................................................................................................... 3
Atlas ....................................................................................................................................... 4
Stitch...................................................................................................................................... 4
Charts .................................................................................................................................... 5
Migration ............................................................................................................................... 5
Software .................................................................................................................................... 5
Server .................................................................................................................................... 5
Mobile ................................................................................................................................... 5
Compass ................................................................................................................................ 6
Ops Manager ......................................................................................................................... 7
Instalación ..................................................................................................................................... 8
Creación de una BD ..................................................................................................................... 12
Comandos básicos ................................................................................................................... 12
Operaciones Insert, Update y Delete ...................................................................................... 13
Consultas ................................................................................................................................. 16
Usuarios................................................................................................................................... 17
MongoDB en otros entornos de desarrollo ................................................................................ 18
Eclipse...................................................................................................................................... 18
Android Studio ........................................................................................................................ 20
Desarrollo de proyecto................................................................................................................ 23
Diagrama de Gantt ......................................................................Error! Bookmark not defined.
Tareas y horas ......................................................................................................................... 23
Bibliografía .................................................................................................................................. 26
Conclusiones ............................................................................................................................... 26

1
Introducción
En este documento vamos a ver cómo trabajar con MongoDB, un sistema de acceso a datos
NoSQL. El objetivo es recopilar toda la información necesaria para aprender a instalar esta
herramienta, entender su funcionamiento y utilizarla dentro de un programa java.

He elegido MongoDB entre los demás métodos de acceso a datos por dos motivos, primero
porque es NoSQL, y no conozco herramientas de este tipo, y segundo porque es un sistema
ampliamente utilizado y muy popular.

Objetivos del proyecto


La idea general de este proyecto es crear una guía, clara y explicativa de cómo usar MongoDB,
que pueda ser de utilidad en el futuro para otras personas. También voy a estudiar las distintas
versiones que mongo nos ofrece, como los servicios cloud o mongo mobile, voy a documentar
mi experiencia y la información que consiga recopilar.

Análisis
MongoDB es un sistema de base de datos NoSQL orientado a documentos de código abierto.

En lugar de guardar los datos en tablas, tal y como se hace en las bases de datos relacionales,
MongoDB guarda estructuras de datos BSON (una especificación similar a JSON) con un
esquema dinámico, haciendo que la integración de los datos en ciertas aplicaciones sea más
fácil y rápida.

MongoDB guarda la estructura de los datos en documentos BSON con un esquema dinámico,
lo que implica que no existe un esquema predefinido. Los elementos de los datos se
denominan documentos y se guardan en colecciones. Una colección puede tener un número
indeterminado de documentos.

Comparando con una base de datos relacional, se puede decir que las colecciones son como
tablas y los documentos son registros en la tabla. La diferencia es que en una base de datos
relacional cada registro en una tabla tiene la misma cantidad de campos, mientras que en
MongoDB cada documento en una colección puede tener diferentes campos. En un
documento, se pueden agregar, eliminar, modificar o renombrar nuevos campos en cualquier
momento, ya que no hay un esquema predefinido. La estructura de un documento es simple y
compuesta por pares llave/valor, parecido a las matrices asociativas en un lenguaje de
programación, esto es debido a que MongoDB sigue el formato de JSON.

En MongoDB la clave es el nombre del campo y el valor es su contenido, los cuales se separan
mediante el uso de “:”, tal y como se puede ver en el siguiente ejemplo. Como valor se pueden
usar números, cadenas o datos binarios como imágenes o cualquier otro.

2
{
"_id": ObjectId("4efa8d2b7d284dad101e4bc7"),
"Last Name": "PELLERIN",
"First Name": "Franck",
"Age": 29,
"Address": {
"Street": "1 chemin des Loges",
"City": "VERSAILLES"
}
}

Casos de uso
La base de datos MongoDB es adecuada para los siguientes usos:

 Almacenamiento y registro de eventos


 Sistemas de manejo de documentos y contenido
 Comercio electrónico
 Juegos
 Sistemas con alto volumen de lecturas
 Aplicaciones móviles
 Almacén de datos operacional de sitios web
 Almacenamiento de comentarios
 Votaciones
 Registro de usuarios
 Perfiles de usuarios
 Sesiones de datos
 Proyectos que utilizan metodologías de desarrollo iterativo o ágiles
 Manejo de estadísticas en tiempo real

MongoDB es utilizado para uno o varios de estos casos por varias empresas, algunas de las más
conocidas son EA, Telefónica, Nokia, Adobe, Google, eBay, SAP…

Desde su página web podemos consultar todos sus clientes más famosos o a través del
siguiente link https://www.mongodb.com/who-uses-mongodb

Cloud
MongoDB nos ofrece varios servicios para trabajar en la nube, vamos a verlos en detalle a
continuación.

3
Atlas
Sus características son:

- Automatización: La manera más fácil de crear, lanzar y escalar aplicaciones en


MongoDB.
- Flexibilidad: La única base de datos como servicio con todo lo necesario para las
aplicaciones modernas.
- Seguridad: Disponibles varios niveles de seguridad.
- Escalabilidad: Gran escalabilidad sin interrumpir la actividad.
- Alta disponibilidad: Implementaciones con tolerancia a errores y autorreparación
predeterminadas.
- Alto rendimiento: El rendimiento necesario para las cargas de trabajo más exigentes.

MongoDB Atlas dispone de un explorador de datos, este es ideal para ejecutar consultas, ver
metadatos de las bases de datos y colecciones y ver información sobre los índices.

Realiza copias de seguridad de forma continua, de modo que los datos y sus copias de
seguridad hay una diferencia de segundos. También se pueden consultar las instantáneas de
copias de seguridad y restaurar los datos a nivel de documentos en cuestión de minutos.

Stitch
MongoDB Stitch es una plataforma sin servidor que permite a los desarrolladores crear
aplicaciones rápidamente sin tener que configurar la infraestructura del servidor. Stitch está
construido sobre MongoDB Atlas, integrando automáticamente la conexión a su base de
datos. Puede conectarse a Stitch a través de los SDK de Stitch Client, que están disponibles
para muchas de las plataformas que desarrolla para incluir JavaScript, iOS y Android.

Stitch le permite leer y escribir los datos que ha almacenado en MongoDB Atlas desde una
función sin servidor o directamente en el código de su aplicación cliente. Un motor de reglas
seguro y basado en roles garantiza que sus usuarios solo puedan leer y cambiar los datos que
desee.

Stitch simplifica el proceso de autenticación y administración de los usuarios de su aplicación.


Los proveedores de autenticación integrados permiten a los usuarios iniciar sesión con un
correo electrónico / contraseña, una clave de API o un servicio externo OAuth. Si los
proveedores integrados no cubren su caso de uso, puede integrar su propio proveedor
personalizado

Stitch le permite escribir y ejecutar funciones de JavaScript que conectan todos los datos y
servicios que impulsan su aplicación. Puede llamar a funciones desde aplicaciones cliente o
desde otras funciones, todas sin configurar una API HTTP.

Stitch puede ejecutar automáticamente funciones de activación en respuesta a eventos de


autenticación de usuarios o cambios en su base de datos MongoDB. También puede crear
webhooks entrantes para permitir que los servicios externos interactúen con su aplicación de
forma remota.

4
Charts
MongoDB Charts es una herramienta para crear representaciones visuales de sus datos de
MongoDB. La visualización de datos es un componente clave para proporcionar una
comprensión clara de sus datos, destacando las correlaciones entre variables y haciendo que
sea fácil discernir patrones y tendencias dentro de su conjunto de datos. MongoDB Charts
hace que la comunicación de sus datos sea un proceso sencillo al proporcionar herramientas
integradas para compartir y colaborar fácilmente en visualizaciones.

Características:

- Funcionalidad de Agregación: MongoDB Charts proporciona una funcionalidad de


agregación incorporada. La agregación le permite procesar sus datos de recopilación
mediante una variedad de métricas y realizar cálculos como la media y la desviación
estándar para proporcionar una mejor perspectiva de sus datos.
- Integración perfecta con MongoDB Atlas: Los gráficos proporcionan una integración
perfecta con MongoDB Atlas . Puede vincular los cuadros de MongoDB a los proyectos
de Atlas y comenzar a visualizar rápidamente los datos de su grupo de Atlas.
- Manejo de datos de documentos: Los gráficos manejan los datos basados en
documentos, incluidos los objetos incrustados y las matrices . La utilización de una
estructura de datos anidada proporciona la flexibilidad para estructurar sus datos, ya
que se adapta mejor a su aplicación, al tiempo que conserva potentes capacidades de
visualización.

Migration
El Servicio de migración en vivo de Atlas puede migrar sus datos de su entorno existente, ya
sea en AWS, Azure, GCP, su centro de datos o un proveedor de base de datos como servicio de
terceros, a MongoDB Atlas, la base de datos de nube global para MongoDB, con un impacto
mínimo en su aplicación.

Desde la propia web de MongoDB nos proporcionan tutoriales de cómo hacer la migración con
éxito y de manera sencilla.

Software
MongoDB pone a nuestra disposición distinto software, vamos a ver sus características.

Server
Sus características son las vistas anteriormente en el apartado de análisis, así que vamos a
continuar viendo el resto de alternativas.

Mobile
MongoDB Mobile es una implementación compacta e integrable de MongoDB diseñada para
aplicaciones iOS, Android e IoT. Permite a los desarrolladores aprovechar su conocimiento de
MongoDB al crear aplicaciones móviles, dispositivos inteligentes, sensores de IoT y puertas de
enlace que son esenciales para la capacidad de una empresa moderna de llegar a los clientes.

5
MongoDB Mobile se entrega junto con la serie MongoDB Stitch de servicios de datos
habilitados para la nube. MongoDB Mobile puede trabajar de forma independiente o
sincronizarse con una base de datos de MongoDB Atlas en la nube a través de MongoDB Stitch
Mobile Sync, lo que lo hace ideal para unificar su enfoque de la tecnología de base de datos en
todas las escalas. El SDK móvil de MongoDB también permite conexiones administradas a
clústeres de Atlas a través del servicio MongoDB Stitch QueryAnywhere.

Cuidadosamente adaptado a las necesidades de un desarrollador integrado, MongoDB Mobile


ofrece las características que son relevantes para una aplicación móvil:

 Un SDK unificado : hay un solo paquete de SDK de cliente para cada plataforma con
una API común que permite el acceso a la base de datos local o a cualquier base de
datos remota de MongoDB. Con un solo paquete para instalar en cada plataforma, es
fácil de incorporar en proyectos.

 Conectividad : conéctese a una instancia de base de datos integrada local, a través de


MongoDB Stitch Query Anywhere o sincronice con un clúster de MongoDB alojado en
el Atlas de MongoDB (consulte Características de sincronización móvil de MongoDB).

 Amplio soporte de MQL : el lenguaje de consulta MongoDB, a partir de MongoDB 3.4,


es compatible con el SDK e incluye índices secundarios y canalización de agregación.

 Soporte de idioma nativo : el SDK está disponible para Swift en iOS o Java en Android.

 Compatibilidad con 32/64 bits : para todos los dispositivos iOS y Android.

 Fácil de insertar: Usar CocoaPods en iOS o Maven en Android.

 Compacto y enfocado : diseñado para dispositivos móviles, el acceso a una sola


aplicación, cosas como la autenticación, la replicación y la fragmentación podrían
recortarse. Con una huella de almacenamiento resultante de 15-20 MB, MongoDB
Mobile ofrece a los desarrolladores un entorno familiar con bajos gastos generales

Compass
La GUI para MongoDB. Explora visualmente tus datos. Ejecutar consultas ad hoc en
segundos. Interactúa con tus datos con la funcionalidad CRUD completa. Ver y optimizar el
rendimiento de su consulta. Disponible en Linux, Mac o Windows. Compass le permite tomar
decisiones más inteligentes sobre la indexación, la validación de documentos y más.

MongoDB Compass analiza sus documentos y muestra estructuras ricas dentro de sus
colecciones a través de una GUI intuitiva. Le permite visualizar y explorar rápidamente su
esquema para comprender la frecuencia, los tipos y los rangos de campos en su conjunto de
datos.

Las estadísticas del servidor en tiempo real le permiten ver las métricas clave del servidor y las
operaciones de la base de datos. Profundice en las operaciones de la base de datos fácilmente
y entienda sus colecciones más activas.

6
Apunte y haga clic para construir consultas sofisticadas, ejecútelas con solo presionar un botón
y Compass mostrará sus resultados gráficamente y como conjuntos de documentos JSON.

Modifique los documentos existentes con mayor confianza utilizando el editor visual intuitivo,
o inserte nuevos documentos y clone o elimine los existentes con solo unos pocos clics.

Sepa cómo se ejecutan las consultas a través de una GUI fácil de entender que le ayuda a
identificar y resolver problemas de rendimiento.

Comprenda el tipo y tamaño de sus índices, su utilización y propiedades especiales. Agregar y


eliminar índices con el clic de un botón.

Cree y modifique reglas que validen sus datos utilizando una simple interfaz de apuntar y hacer
clic. El soporte CRUD le permite solucionar problemas de calidad de datos fácilmente en
documentos individuales.

El Compass Plugin Framework se expone como una API, lo que lo hace extensible por los
usuarios. ¿Buscas otra funcionalidad? Instala un plugin o crea el tuyo.

Construya tuberías de agregación en una interfaz de usuario intuitiva. Los esqueletos de código
y la función de autocompletar facilitan la construcción de un escenario, mientras que una vista
previa de los documentos muestra si el escenario está haciendo lo que necesita. Agregue
etapas, elimínelas o arrastre y suelte para reordenar en la tubería. Una vez que haya
terminado, expórtelo a código nativo para usar en su aplicación.

Ops Manager
Los equipos de operaciones tienen muchas tareas: combatir incendios, mantener el zumbido
de la red, proteger el negocio de los piratas informáticos, mantener sus sistemas en los últimos
parches. Haga la vida más fácil con Ops Manager, la aplicación de administración para
MongoDB, creada por los ingenieros que escriben la base de datos. Disponible con MongoDB
Enterprise Advanced , Ops Manager es la mejor manera de ejecutar MongoDB en su propia
infraestructura, lo que hace que su equipo sea rápido y fácil de implementar, monitorear,
respaldar y escalar MongoDB.

Ops Manager incorpora las mejores prácticas que hemos aprendido de miles de
implementaciones de clientes en una aplicación integral que lo ayuda a administrar MongoDB
de forma segura y confiable.

- Despliegue: Cualquier tipología a cualquier escala.


- Administración: Desplegar nuevos clusters. Gestione, supervise y realice copias de
seguridad de las existentes.
- Actualizaciones: En minutos, sin tiempo de inactividad.
- Escalada: Añadir capacidad, sin desconectar la aplicación.
- Copias de seguridad de punto en el tiempo: Restaurar en cualquier momento, porque
los desastres no son predecibles.
- Alertas de rendimiento: Supervise más de 100 métricas del sistema y obtenga alertas
antes de que el sistema se degrade.

7
Instalación
Para empezar a trabajar con MongoDB primero deberemos descargar el software a través de
su página oficial https://www.mongodb.com/.

Si pulsamos sobre el botón Try Free situado en la parte superior derecha de la pantalla,
accederemos a la pantalla de descarga.

Una vez aquí tenemos que seleccionar la opción Server, ya que nuestra aplicación va a operar
desde nuestro ordenador y no vamos a utilizar servicios Cloud.

8
Ahora debemos seleccionar la versión del software que queremos descargar y la versión de
nuestro SO. Pulsamos en el botón Download, se nos guardará en el equipo un instalador con
terminación .msi el cual vamos a ejecutar.

La instalación es muy sencilla, en esta primera pantalla pulsamos Next. En la siguiente


habremos de aceptar los Términos y Condiciones y pulsar Next.

9
Seleccionamos Complete o instalación completa y pulsamos Next.

En la siguiente pantalla debemos dejar las opciones por defecto, aunque podemos modificar la
ruta donde se va a instalar. La opción Install MongoD as a Service nos configura un aspecto que
por lo que tengo entendido antes debía hacerse manualmente, así que son pasos que nos
ahorramos. Pulsamos Next.

10
Nos mostrará las siguientes pantallas, dejamos por defecto, pulsamos Next y después Install.

En este punto debería haberse instalado MongoDB de manera exitosa, pulsamos Finish.

11
Creación de una BD
Vamos ver cómo crear una base de datos, para trabajar con ella desde la herramienta de
MongoDB.

Como paso final de la instalación y antes de arrancar el programa, vamos a crear una carpeta
en el disco local donde hayamos instalado MongoDB. En mi caso el disco C, esta carpeta se
llamará data. Ahora entramos en data y creamos la carpeta db. Quedará de la siguiente
manera C:\data\db. MongoDB utiliza esta carpeta para guardar sus bases de datos.

Para arrancar MongoDB será necesario ir a donde está instalada nuestra aplicación, en mi caso
la ruta completa es esta C:\Program Files\MongoDB\Server\4.0\bin , debemos fijarnos en dos
archivos mongod y mongo.

mongod es el servidor, tenemos que arrancarlo antes de iniciar mongo que es la parte cliente,
iniciamos mongod y después mongo. Podremos observar que tiene el mismo aspecto que la
consola de comandos.

Comandos básicos
Lo primero será crear la base de datos, para ello vamos a utilizar:

use: Este comando nos sirve para situarnos en la base de datos en la que queremos trabajar, si
esta no existe, la crea.

12
db: Nos muestra la base de datos en la que estamos trabajando.

show dbs: Muestra un listado de las bases de datos. Si acabamos de crear la bd y no tiene nada
almacenado, no aparecerá en la lista hasta que introduzcamos información.

db.createCollection(“nombre_coleccion”): Crea una colección con el nombre que le pasemos


entre paréntesis.

show collections: Muestra un listado con las colecciones existentes.

Operaciones Insert, Update y Delete


Vamos a rellenar nuestra bd y ver cómo trabajar con los datos.

db.nombre_coleccion.insert({nombre:”Pepe”}): De esta manera introducimos datos en una


colección. Si la colección no existe, la crea.

13
db.nombre_coleccion.drop(): Borra la colección que le hemos indicado.

db.dropDatabase(): Borra la bd en la que nos encontremos trabajando.

db.nombre_coleccion.find().pretty(): Nos muestra los datos de los documentos contenidos en


la colección.

db.nombre_coleccion.deleteOne({nombre: “Lucía”}): Borra un documento, aquel que cumpla


la condición.

db.nombre_coleccion.remove({nombre: “Lucía”}): Borra todos los documentos que cumplan la


condición.

14
db.nombre_coleccion.remove({}): Borra todos los documentos de una colección.

db.nombre_coleccion.update({nombre: “Manuel”}, { $set {edad: 62} }): Esta sentencia nos


permite actualizar los registros de un documento, pasando un campo y valor con el que
localizar el documento, y luego con la palabra set seguido del campo y el valor actualizado.

{upsert: true} : Si no encuentra el registro que se quiere modificar, se crea. Se escribe al final
de la sentencia.

db.personas.update({

nombre: "María"

},

$set: {

apellidos: "De la buena",

edad: 42

}},

{ upsert: true}

15
Consultas
Para realizar consultas se utiliza la función find(), y esta vez vamos a darle parámetros.

db.usuarios.find({“edad”: 62)}) : Busca dentro de la colección y nos muestra el o los


documentos que cumplan la condición.

Con este mismo método podemos realizar búsquedas por encima o por debajo del valor
utilizando los siguientes operadores:

 Igualdad …………….….…….……..……….….. { “edad”: 62}


 Menor que …………….………....….. { “edad” : {$lt: 63} }
 Menor o igual que …............... { “edad” : {$lte: 62} }
 Mayor que ………………….………... { “edad” : {$gt: 61} }
 Mayor o igual que …………….... { “edad” : {$gte: 62} }
 Distinto …….……………………….…... { “edad” : {$ne: 0} }
 Conjunto de valores .. { “edad” : {$in: [61, 62, 63] } }

Operadores AND OR NOT:

AND: { {“edad”: 62, “nombre”: “Manuel”} }

OR: {

$or: [

{“edad”: 62}, {“nombre”: “Manuel”}

NOT: { field: {$not: { <expresión con operador> } } }

Otras funciones importantes son:

db.usuarios.find().limit(1) : Nos permite limitar el resultado de la búsqueda a un solo registro.

db.usuarios.find().sort( {valor: 1} ) : Podemos ordenar los resultador por un campo. Si le


damos valor 1 se ordenará de menor a mayor y -1 ordenará de mayor a menor.

16
Usuarios
Podemos crear usuarios de la siguiente manera:

Para autentificarnos como un usuario hay que escribir la siguiente línea:

mongo –port27017 –u nuevoUsuario –p 1234 –authenticationDatabase admin

Para ver una lista de todos los usuarios de una base de datos hay que ejecutar:

db.getUsers()

Si queremos eliminar un usuario de una base de datos, simplemente ejecutamos:

db.dropUser(“nuevoUsuario”)

17
MongoDB en otros entornos de desarrollo
Hasta ahora hemos visto cómo usar MongoDB por defecto, en este apartado vamos a realizar
la conexión con otros entornos para trabajar desde ellos.

Eclipse
Lo primero que debemos hacer es descargar el driver desde la página:
https://mongodb.github.io/mongo-java-driver/

En la parte de abajo nos da opción a seleccionar la versión del driver y descargarlo.

Si pulsamos sobre el botón Download se nos abrirá la siguiente página. Todas son versiones del
driver que hemos seleccionado, debemos escoger una y descargarlo.

18
Ahora que tenemos el driver solo hay que referenciarlo en nuestro proyecto java de eclipse y
escribir la clase conexión.

Un ejemplo de cómo podría quedar esta clase es el siguiente:

19
Android Studio
Para trabajar con Android vamos a hacer uso de Mongo Mobile, la idea es crear una base de
datos de uso local (sin usar los servicios cloud ni un servidor como tal) la conexión es muy
sencilla, eso sí, debemos trabajar para una imagen de Android 5.0 Lollipop o superior.
Abrimos nuestro proyecto, tenemos que acceder a build.gradle(Module:app) como se muestra
en la imagen.

Vamos a localizar el apartado dependencies, aquí debemos escribir la siguiente línea:

implementation 'org.mongodb:stitch-android-sdk:4.1.0'

Lo que estamos haciendo es decirle a android que incorpore el driver de mongo, también
debemos ir al apartado android y escribir el siguiente módulo:

compileOptions {

sourceCompatibility = JavaVersion.VERSION_1_8

targetCompatibility = JavaVersion.VERSION_1_8

20
}

Así es como quedaría finalmente.

Ahora deberemos crear la clase que sea capaz de almacenar datos en nuestra bd.

MongoDB nos ofrece estas líneas de código para empezar a construir nuestras clases:

1. Incluir los paquetes necesarios:

// Base Stitch Packages


import com.mongodb.stitch.android.core.Stitch;
import com.mongodb.stitch.android.core.StitchAppClient;

// Packages needed to interact with MongoDB and Stitch


import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoCollection;

// Necessary component for working with MongoDB Mobile


import com.mongodb.stitch.android.services.mongodb.local.LocalMongoDbService;

21
2. Inicializar la base de datos MongoDB Mobile y crear un cliente MongoDB Mobile en la
aplicación:

// Create the default Stitch Client


final StitchAppClient client =
Stitch.initializeDefaultAppClient("<APP ID>");

// Create a Client for MongoDB Mobile (initializing MongoDB Mobile)


final MongoClient mobileClient =
client.getServiceClient(LocalMongoDbService.clientFactory);

3. Ahora puedes acceder a MongoDB Mobile directamente. Por ejemplo para situarse en
una colección e insertar un documento debe usarse el siguiente código:

// Point to the target collection and insert a document


MongoCollection<Document> localCollection =
mobileClient.getDatabase("my_db").getCollection("my_collection");

localCollection.insertOne(document);

// Find the first document


Document doc = localCollection.find().first();

//Find all documents that match the find criteria


Document query = new Document();
query.put("name", new BsonString("veirs"));

FindIterable<Document> cursor = localCollection.find(query);


ArrayList<Document> results =
(ArrayList<Document>) cursor.into(new ArrayList<Document>());

22
Desarrollo de proyecto
A continuación presento mi Diagrama de Gantt con las tareas que he realizado y los días y
horas trabajados.

Tareas y horas

Instalación de Gantt proyect y revisión de los apuntes.

Comparar entre los distintos métodos de acceso a datos: 60min.

Instalación Gantt Proyect: 5min.

Planificación.

Revisar toda la información sobre MongoDB: 30min.

Organizar y definir los puntos principales del proyecto: 30min.

Descarga e instalación de MongoDB.

Mirar apuntes sobre la instalación de MongoDB: 10min.

Ver tutorial instalación MongoDB: 20min.

Descarga MongoDB: 5min.

Intalación MongoDB: 10min.

Investigación, búsqueda de información, tutoriales.

23
Recopilar información de MongoDB: 20min.

Ver distintos tutoriales: 60min.

Primeros pasos usando MongoDB.

Creación de una base de datos ejemplo y trabajar en ella: 60min.

Documentación.

Documentación del proyecto: introducción, objetivos del proyecto, análisis,


instalación, creación de una base de datos: 6h

Conexión eclipse con MongoDB.

Aquí tuve algunos problemas a la hora de realizar la clase conexión.

Descarga e implementación del driver de java: 20min.

Creación de la clase conexión y búsqueda de información porque me surgieron


problemas: 60min.

Faltaba una clase en el driver.

Búsqueda de información.

Búsqueda de información sobre mi problema para conectar con el driver de java:


60min.

Conexión con Android Studio.

Búsqueda de información: 15min.

Realizar conexión: 15min.

Documentación conexiones.

Documentación sobre las conexiones: 90min.

Documentación.

Poner al día en diagrama de Gantt, la bibliografía y apartado de conclusiones

90min.

Investigación servicios mongo.

Búsqueda de información sobre los distintos servicios que ofrece MongoDB y su


utilidad: 90min.

Documentación servicios.

Documentar toda la información sobre los servicios de MongoDB: 60min.

24
Modificar la documentación.

Modifico la documentación para sustituir la conexión en Android Studio por MongoDB


Mobile: 120min

Creación de la bd en Android.

Creación de las clases para realizar la bd: 60min.

Búsqueda de información.

Debido a que la documentación de mongo te da unas cuatro líneas de código para


empezar a programar y todo está en inglés, pasé bastante rato pensando cómo crear la
base de datos: 120min.

Probar funcionamiento.

Tras varios intentos fallidos sigo pensando cómo se programa la bd: 60min.

Documentación y últimos retoques.

Me han surgido problemas personales en la última semana y por eso no he podido


terminar la clase que crea la bd en Android, me he dedicado a terminar la
documentación, actualizar y añadir el diagrama de Gantt e imprimir el trabajo: 120min.

Problemas y dificultades

Durante el proyecto he tenido varias dificultades, la primera ha sido que toda la información o
casi toda la que he podido encontrar está originalmente en inglés, esto dificulta un poco la
investigación, pero no ha sido un gran problema.

La segunda y quizás más importante fue con la conexión de MongoDB y Eclipse, ya que las
últimas versiones del conector, no incluían una herramienta que necesitaba usar según la
información que recogí, esto me retrasó bastante.

La tercera ha sido al crear la clase conexión e intentar crear la base de datos. MongoDB te deja
unas pocas líneas de código para comenzar a programar, al intentar programar mis clases
usando de base estas líneas de código me surgieron errores, al buscar más información no
encontré nada relacionado con estas líneas de código así que empecé a improvisar y
programar a ver si daba con la solución. No habría sido un gran problema si no me hubieran
surgido problemas personales, porque no he tenido tiempo de ponerme a solucionarlo.

25
Bibliografía
Parte de Análisis: Información extraída de Wikipedia https://wikipedia.com/.

Parte de Instalación: Página web oficial de MongoDB https://www.mongodb.com/.

Parte de Comandos Básicos: Me he apoyado en un tutorial de YouTube de Leonardo Kuffo


https://www.youtube.com/watch?v=c8n6JsQuX2A.

Información descarga y conexión del driver de Java


https://www.youtube.com/watch?v=bWyaU-z0bsw.

https://josemmsimo.wordpress.com/2014/01/02/conectando-una-aplicacion-java-con-
mongodb-en-windows/.

https://www.youtube.com/watch?v=QOi4NRiCS94.

Descarga del driver de Java https://mongodb.github.io/mongo-java-driver/.

Introducir imágenes en MongoDB https://codeday.me/es/qa/20190102/78391.html.

Mongo Mobile: https://www.mongodb.com/products/mobile.

Mongo Atlas: https://www.mongodb.com/presentations/mongodb-atlas-la-mejor-forma-de-


utilizar-mongodb-en-la-nube-1.

Mongo Stitch: https://docs.mongodb.com/stitch/.

Mongo Charts: https://docs.mongodb.com/charts/master/.

Mongo Mobile Data Sheet: https://www.mongodb.com/collateral/mongodb-mobile.

Mongo Ops Manager: https://www.mongodb.com/products/ops-manager.

Conexión Android y Mongo Mobile:


https://docs.mongodb.com/stitch/mongodb/mobile/getting-
started/?_ga=2.186226539.311558021.1558967665-1463869799.1557159415.

Ayuda de Mongo para crear una bd local:


https://docs.mongodb.com/stitch/mongodb/mobile/build-local/.

Conclusiones
MongoDB no es solo una herramienta para crear bases de datos cliente/servidor, como se
podría pensar. También podemos crear bases de datos locales, con todas las ventajas que
ofrece. A parte de esto, nos permite migrar fácilmente nuestros datos entre distintas bd y el
resto de servicios que hemos visto en este documento.La mayor conclusión que obtengo de
esta investigación es que, MongoDB es una herramienta muy completa, que se adapta a tus
necesidades, con gran escalabilidad y fiabilidad.

26

S-ar putea să vă placă și