Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Very Large Databases (VLDB) (Bases de Datos Muy Grandes) Luis Valencia Cabrera (lvalencia@us.es) Research Group on Natural Computing Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla 09-01-2014, Bases de Datos, 3o Grado en Estadística Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Índice 1 Introducción 2 Very Large Databases (VLDB) 3 Big Data 4 Big Data y NoSQL 5 NoSQL 6 MongoDB 7 Descarga e instalación 8 Práctica Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Índice 1 Introducción 2 Very Large Databases (VLDB) 3 Big Data 4 Big Data y NoSQL 5 NoSQL 6 MongoDB 7 Descarga e instalación 8 Práctica Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Introducción Introducción (I) El mundo en el que vivimos se encuentra en constante evolución, formamos parte de un súper organismo sujeto a cambio. Especialmente en el caso del ser humano, debido a las cotas de inteligencia que alcanza, al hecho de ser un ser social y, a día de hoy, a la dimensión a la que ha llegado el fenómeno de la globalización, el entorno que nos rodea, en muchos sentidos, cambia cada día. Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Introducción Introducción (II) Si ponemos el foco en los aspectos tecnológicos, los cambios son aún más rápidos y acuciantes, y tienen un reflejo directo en muchos aspectos de nuestras vidas. Sin ir más lejos, la explosión de Internet se produjo aproximadamente a mediados de los 90, y el impacto en la forma de hacer investigación, de tener acceso a información y conocimiento, cambió radicalmente. Fenómenos como Google, la Wikipedia, las redes sociales, Twitter, etc. han implicado en los últimos años un nuevo cambio de escala en el empleo de las tecnologías de la información, y un reto en cuanto a la actualización y la disponibilidad de enormes conjuntos de información a través de la red. Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Índice 1 Introducción 2 Very Large Databases (VLDB) 3 Big Data 4 Big Data y NoSQL 5 NoSQL 6 MongoDB 7 Descarga e instalación 8 Práctica Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Very Large Databases (VLDB) Very Large Database (VLDB) Definición Las siglas VLDB (Very Large Databases) denotan a bases de datos que contienen un número de tuplas extremadamente alto. No tiene mucho sentido hablar de cifras concretas ya que este concepto va cambiando con el tiempo, va evolucionando conforme aumenta la capacidad de almacenamiento de los equipos personales, servidores, aplicaciones, la realidad que nos rodea, la evolución de Internet, y del ámbito científico y empresarial. No obstante, a día de hoy se puede entender como VLDB una base de datos del orden de terabytes, o mil millones de filas. Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Very Large Databases (VLDB) Very Large Database (VLDB) - Referencias Algunas referencias útiles http://www.softdevtube.com/2012/04/18/ an-introduction-to-very-large-databases/ http://en.wikipedia.org/wiki/Very_large_database Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Índice 1 Introducción 2 Very Large Databases (VLDB) 3 Big Data 4 Big Data y NoSQL 5 NoSQL 6 MongoDB 7 Descarga e instalación 8 Práctica Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Big Data Big Data Los últimos años, meses, días, estamos asistiendo a una proliferación cada vez mayor de publicaciones en la web relacionadas con Big Data. Definición Entendemos por Big Data a conjuntos de información enormes, que superan con mucho la capacidad del software de gestión de bases de datos convencional para procesar los datos en un tiempo razonable. Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Big Data Big Data - Referencias Este término viene en algunos casos sustituyendo a VLDB, pero de forma más difundida y correcta hace referencia a algunos órdenes de magnitud adicionales. Las dificultades o retos a encarar en este tipo de tecnologías se centran en la captura, almacenamiento, búsqueda, compartición, análisis y visualización de los datos. Algunas referencias útiles http://es.wikipedia.org/wiki/Big_data http://online-behavior.com/analytics/big-data-intro Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Big Data Big Data - Four V’s En el marco de Big Data se viene imponiendo la terminología de las 4 V’s para resumir las características fundamentales: 4 V’s Volume Involucra grandes volúmenes de datos, pudiendo llegar al orden de petabytes, exabytes, etc. Variety Big Data no se limita a información relacional o datos estructurados. Puede incluir datos no estructurados como imágenes, vídeos, texto, audios, etc. Velocity Se refiere a la velocidad a la que cambian los datos. Cuanto más alta sea ésta, más eficiente debería ser el sistems para poder capturar y analizar los datos. Perder cualquier punto importante podría conllevar realizar un análisis de datos erróneo o una eventual pérdida de parte de los mismos. Veracity Significa veracidad, adhesión a la verdad. Se trata de un reto difícil de afrontar, como es asegurar la veracidad de una enorme cantidad de datos, preservando la velocidad de cambio. La solución generalmente es mantener datos imprecisos o inciertos, posiblemente no actualizados, durante cierto margen temporal. Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Big Data Big Data - Referencias adicionales A continuación se proporcionan algunas referencias adicionales. Algunas referencias útiles http://strata.oreilly.com/2012/01/what-is-big-data.html http://blog.sqlauthority.com/2012/10/26/ sql-server-introduction-to-big-data-guest-post/ http://mashable.com/2012/06/19/big-data-myths/ Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Índice 1 Introducción 2 Very Large Databases (VLDB) 3 Big Data 4 Big Data y NoSQL 5 NoSQL 6 MongoDB 7 Descarga e instalación 8 Práctica Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Big Data y NoSQL Big Data y NoSQL Los enormes volúmenes de datos y las condiciones impuestas por las 4 V’s, referentes a disponibilidad, frecuencia de actualización, etc, suponen un reto distinto de los encarados cuando se concibieron los SGBD tradicionales de 1a , 2a y 3a generación. En este contexto, a pesar de toda la potencia y robustez proporcionada por las bases de datos relacionales, y la funcionalidad y capacidad de estandarización que nos proporcionan, necesitamos acudir a nuevas soluciones. El modelo relacional implica la existencia de muchas interrelaciones entre las entidades (tablas relacionales), lo que dificulta la distribución de una base de datos entre múltiples nodos servidores, suponiendo por tanto una barrera para la escalabilidad. Además, la necesidad de realizar joins sobre un conjunto de tablas con miles de millones de registros conlleva una pérdida de eficiencia cuando hablamos de volúmenes tan grandes. Las razones anteriores implican la aparición de distintas alternativas dentro de lo que se conoce como NoSQL, que veremos a continuación. Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Big Data y NoSQL Big Data y NoSQL - Referencias Algunas referencias útiles http://blog.movilforum.com/big-data-nosql-que-paso-con-las-bbdd/ http://www.datastax.com/resources/webinars/nosql-for-bigdata Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Índice 1 Introducción 2 Very Large Databases (VLDB) 3 Big Data 4 Big Data y NoSQL 5 NoSQL 6 MongoDB 7 Descarga e instalación 8 Práctica Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica NoSQL NoSQL - Introducción Las bases de datos NoSQL proporcionan diferentes soluciones no basadas en modelo relacional, para conseguir un rendimiento extremo en bases de datos enormes, a través de un modelo basado fundamentalmente en estructuras de datos planas (evitando la amalgama de interrelaciones existentes en BD relacionales) y en distribución a través de escalabilidad horizontal (muchos nodos servidores). Si bien la variedad de modelos e implementaciones es muy grande (al contrario que la estandarización presente en BD relacionales basadas en SQL), existen básicamente 4 tipos de bases de datos NoSQL: Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica NoSQL NoSQL - Tipos Clave-valor Forma mas típica, como un HashMap donde cada elemento esta identificado por una clave única, permitiendo la recuperación de la información de manera muy rápida. El tipo de contenido no es importante. Son muy eficientes para lecturas y escrituras, y se pueden escalar fácilmente particionando los valores de acuerdo a su clave (por ejemplo, los de clave entre 1 y 1000 van a un servidor, los de 1001 a 2000 a otro, etc.) Dentro de estas bases de datos podemos encontrar a BigTable de Google, SimpleDB de Amazon, Cassandra (usada por Facebook), Hadoop, Riak, Voldemort y MemcacheDB entre otras. Documentos Almacenan la información como un documento (generalmente con estructura simple como JSON o XML) y con una clave única. Similar a las anteriores, pero el fichero generado puede ser entendido, y por tanto el servidor puede hacer operaciones con ellos. Varias de sus implementaciones permiten consultas muy avanzadas sobre los datos, e incluso establecer relaciones sin joins. Podemos encontrar a MongoDB y CouchDB entre las mas importantes de este tipo. Columnas Guardan los valores en columnas en lugar de filas. Ganamos mucha velocidad en lecturas (al recuperar columnas concretas en lugar de toda la tabla), pero ineficiente para realizar escrituras. Se usa en aplicaciones con pocas escrituras en relación a las lecturas. Por ejemplo, Cassandra. Grafos Almacenan la información como grafos donde las relaciones entre los nodos son lo más importante. Muy útiles para representar información de redes sociales. Las relaciones pueden tener atributos y permiten consultas directas a ellas, siendo mucho más eficiente navegar entre estas relaciones que en un modelo relacional. Sólo son aprovechables si la información se puede representar fácilmente como una red.Encontramos a neo4j entre otras. Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica NoSQL NoSQL - Referencias Algunas referencias útiles Curso NoSQL, MongoDB, PHP de 0utkast http://codecriticon.com/?p=281 http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina= introduccion_bases_de_datos_nosql http://en.wikipedia.org/wiki/NoSQL http://newtech.about.com/od/databasemanagement/a/Nosql.htm http://www.itbusinessedge.com/cm/blogs/lawson/ beyond-hadoop-understanding-big-data-options/?cs=49833 http://bosqueviejo.net/2012/04/25/cassandra-la-nosql-de-facebook/ Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Índice 1 Introducción 2 Very Large Databases (VLDB) 3 Big Data 4 Big Data y NoSQL 5 NoSQL 6 MongoDB 7 Descarga e instalación 8 Práctica Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica MongoDB MongoDB Descripción MongoDB es un sistema de base de datos multiplataforma orientado a documentos, de esquema libre (cada registro puede tener un esquema diferente, con atributos distintos de un registro a otro). Cada registro se denomina documento. Los documentos se pueden agrupar en colecciones (“equivalente” a tablas en una BD relacional, pero pudiendo almacenar documentos con muy diferentes formatos, sin esquema fijo). Se pueden crear índices para algunos atributos de los documentos, manteniendo una estructura interna eficiente para el acceso a la información por los contenidos de estos atributos. Destaca por su velocidad y su rico pero sencillo sistema de consulta de los contenidos de la base de datos. Tiene un buen equilibrio entre rendimiento y funcionalidad, incorporando muchos de los tipos de consulta que utilizaríamos en un sistema relacional, pero sin sacrificar el rendimiento. Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica MongoDB MongoDB - Almacenamiento Formato de los datos Los distintos documentos se almacenan en formato BSON, o Binary JSON, que es una versión modificada de JSON que permite búsquedas rápidas de datos. Guarda de forma explícita longitudes de campos, índices de arrays, y otra información útil para el escaneo de datos. Por ello ocupa incluso algo más espacio que en formato JSON. Pero como premisa de NoSQL el almacenamiento es barato, y mejor aprovecharlo para incrementar en velocidad de localización de información dentro de un documento. Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica MongoDB MongoDB - Referencias Algunas referencias útiles Curso NoSQL, MongoDB, PHP de 0utkast http://www.genbetadev.com/bases-de-datos/una-introduccion-a-mongodb http://en.wikipedia.org/wiki/MongoDB http://www.slideshare.net/willshulman/ mongodb-its-not-just-about-big-data http://docs.mongodb.org/manual/installation/ http://docs.mongodb.org/manual/tutorial/getting-started/ http://docs.mongodb.org/manual/reference/sql-comparison/ http://docs.mongodb.org/manual/reference/javascript/ Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Índice 1 Introducción 2 Very Large Databases (VLDB) 3 Big Data 4 Big Data y NoSQL 5 NoSQL 6 MongoDB 7 Descarga e instalación 8 Práctica Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Descarga e instalación Descarga e instalación Descarga MongoDB es multiplataforma, luego la instalación dependerá de las características del S.O. destino. Está disponible para su descarga en MongDB downloads. Consiste en un archivo zip, que podremos descargar y descomprimir donde queramos (en la práctica realizada descomprimimos en C: \ y renombramos la carpeta como mongodb). Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Índice 1 Introducción 2 Very Large Databases (VLDB) 3 Big Data 4 Big Data y NoSQL 5 NoSQL 6 MongoDB 7 Descarga e instalación 8 Práctica Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Práctica Ejecución del servidor y el cliente El servidor de base de datos de MongoDB (contiene el SGDB) se lanza mediante el programa ejecutable mongod.exe. Para ello, vamos a la línea de comandos (símbolo del sistema), a través de Inicio → Ejecutar → cmd. Una vez allí, navegamos hasta la carpeta bin dentro de la carpeta mongodb (recordemos, para ir a la carpeta superior tecleamos cd .., y para entrar en una carpeta tecleamos cd nombreCarpeta, luego para ir a la carpeta que deseamos podemos teclear C : \mongodb\bin). Una vez en la carpeta bin, tecleamos mongod, y con ello se lanza el servidor. El proceso para lanzar el cliente es muy similar. Abrimos otra línea de comandos, sin cerrar la del servidor, hacemos lo mismo que antes, y en el último paso lanzamos mongo. En ese momento estamos listos para lanzar órdenes contra la base de datos. Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Práctica Primeros pasos con MongoDB - Bases de datos Una vez hemos arrancado nuestro cliente, mongo, apuntando a nuestro servidor de base de datos, mongod, debemos seleccionar una base de datos con la que trabajar. Para ver las bases de datos disponibles en nuestro servidor mongod, tecleamos show dbs. Podemos seleccionar una haciendo: use mydb, de forma que si no existe la base de datos mydb, ésta será creada automáticamente. No es necesario por tanto una declaración explícita de creación de la base de datos. Si necesitamos acudir a la ayuda del sistema para consultar alguna funcionalidad podemos hacerlo mediante help, o a la ayuda de una determinada función mediante nombrefuncion.help(). Para una visión más detallada de las funciones permitidas, consultar la referencia del lenguaje admitido por MongoDB. Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Práctica Primeros pasos con MongoDB - Colecciones Una colección en MongoDB sería el “equivalente” a una tabla en modelo relacional, con las diferencias comentadas. Para crear una colección, no es necesario definir explícitamente el nombre de la colección y su estructura, su esquema, sino que se generará y actualizará automáticamente conforme vayamos insertando registros (documentos en su terminología) en la base de datos. Para insertar un documento en la base de datos, podemos hacer: db.cosas.insert({v : 27}). También podríamos hacer una asignación de los datos a una variable (mediante Javascript), y posteriormente insertarla. Por ejemplo, podemos lanzar las siguientes líneas declarando variables j y k, para posteriormente insertarlas en una colección cosas (pre-existente o nueva, indistintamente): j = { name : "mongo" } k = { x : 3, n : 5 } db.cosas.insert( j ) db.cosas.insert( k ) Podemos ver las colecciones existentes mediante: show Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) collections. o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Práctica Primeros pasos con MongoDB - Consultas Para realizar una consulta y poder así ver los documentos insertados, hacemos: db.cosas.find(), que devolverá todos los documentos de la colección cosas. Lo anterior devolverá los 3 registros introducidos, sin ningún criterio de filtro establecido, de forma similar a la siguiente: { "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "v" : 27 } { "_id" : ObjectId("4c2209f9f3924d31102bd84b"), "name" : "mongo" } { "_id" : ObjectId("4c2209fef3924d31102bd84c"), "x" : 3 , "n" : 5 } También podríamos consultar documentos por algún criterio, como por ejemplo haciendo: db.cosas.find( { name : "mongo"} ), que devolverá el documento cuyo name sea igual a “mongo”. Para devolver un único documento: db.cosas.findOne(). Y para limitar el número: db.cosas.find().limit(3). Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística Introducción Very Large Databases (VLDB) Big Data Big Data y NoSQL NoSQL MongoDB Descarga e instalación Práctica Práctica Primeros pasos con MongoDB - Bucles e iteradores Podemos escribir bucles de tipo for o while desde el cliente de MongoDB. Por ejemplo, para añadir una serie de documentos en la colección cosas: for (var i = 1; i <= 20; i++) db.cosas.insert( { x : 4 , j : i } ). También podemos declarar un cursor en una variable, y recorrelo con un iterador: var c = db.cosas.find() while ( c.hasNext() ) printjson( c.next() ) Esto mostrará un número máximo de documentos, por defecto 20, si bien ese límite se puede modificar; una vez mostrados los primeros podremos escribir it para ver más documentos. También podemos acceder a una posición del array de resultados al que hace referencia la variable: var c = db.cosas.find() printjson( c [ 4 ] ) Luis Valencia Cabrera (lvalencia@us.es) Very Large Databases (VLDB) (Bases de Datos Muy Grandes) o Bases de Datos, 3 Grado en Estadística