MongoDB, un sistema de base de datos multiplataforma orientado a documentos, de esquema libre. algunos ejemplos de funciones avanzadas.
[color=#000000]Algunas características importantes de MongoDB:[/color]
[color=#000000]Ausencia de transacciones[/color]
[color=#000000]Esto le permite a MongoDB ser más rápida y escalable a nivel horizontal.[/color]
[color=#000000]Escalabilidad horizontal[/color]
[color=#000000]En sistemas tradicionales RDBMS o bases de datos relacionales, para mejorar el rendimiento de la base de datos se debia buscar un servidor más potente (escalado vertical)[/color]
[color=#000000]En MongoDB funciona mejor el escalado horizontal (incrementar número de servidores)[/color]
[color=#000000]Almacenamiento Orientado a documentos (BSON)[/color]
[color=#000000]JSON es más que una gran forma de intercambiar información, es también una excelente forma de almacenarla[/color]
[color=#000000]MongoDB almacena todo un registro en un mismo documento.[/color]
[color=#000000]No hay necesidad de especificar estructura alguna y sus documentos pueden cambiarse individualmente.[/color]
[color=#000000]MongoDB usa BSON (Binary-JSON),un formato abierto basado en JSON que permite manejar datos binarios,[/color]
[color=#000000]Con el uso de BSON MongoDB es muy rápida en la búsqueda, indexación, almacenamiento y recuperación de la información[/color]. [color=#000000]BSON es fácil y rápidamente transformable en cualquier tipo de dato nativo de cualquier lenguaje de programación.[/color]
[color=#000000]Soporte a Querys dinámicas[/color]
[color=#000000]Como en las bases de datos tradicionales, MongoDB también acepta la ejecución de queries dinámicas.[/color]
[color=#000000]Indexación de Documentos[/color]
[color=#000000]Todos los documentos son automáticamente indexados con una clave llamada _id.[/color]
[color=#000000]Esta clave nos asegura que cada documento es único, MongoDB permite indexar documentos embebidos (s.[/color]
[color=#000000]Analisis de Rendimiento de Queries[/color]
[color=#000000]MongoDB provee una herramienta para el análisis de consultas que permite determinar el rendimiento de nuestras consultas o conocer posibles defectos en su estructura o simplemente mejorar el tiempo de respuesta de las mismas.[/color]
[color=#000000]Replicación de Datos[/color]
[color=#000000]MongoDB provee mecanismo llamado replicación maestro-esclavo, con lo que solo una base de datos está activa para escritura en un momento dado.[/color]
[color=#000000]Todas las peticiones de escritura se realizan en la base de datos maestra y esta las pasa a la réplica. Si la bd principal falla la esclava ocupa su lugar.[/color]
[color=#000000]Aqui avanzaremos con ejemplos practicos sobre consultas y funcionaes avanzadas[/color]
[color=#000000]Ejemnplo Base de datos en MongoDB[/color]
db.empleados.insert({ nombre: 'Jose', *****: 'hombre', puesto: 'programador', Experiencia: [“MongoDB”, “PHP”, “Bases de datos”] }); db.empleados.insert({ nombre: 'Giulia', *****: 'mujer', puesto: 'diseñadora', Experiencia: [“Photoshop”, “Flash”, “Blender”] });
[color=#000000]Buscar y filtrar registros[/color]
[color=#000000]La siguiente consulta devolvera todos los empleados mujeres[/color]
[color=#000000]db.empleados.find({*****: 'mujer'});[/color]
[color=#000000]La siguiente consulta devolvera todos los empleados [/color][color=#000000]hombre que tengan experiencia en php[/color][color=#000000] [/color]
db.empleados.find({gender: 'hombre', $and: [{experiencia: 'PHP'}]});
[color=#000000]La siguiente consulta devolvera todos los empleados [/color][color=#000000]hombres ordenados por nombre, para ello utilizamos los parametros ascendente -1 y descendente 1[/color]
db.empleados.find({gender: 'mujer'}).sort({nombre: -1});[color=#000000]Actualizando registros[/color]
db.empleados.update({nombre: 'Jose'}, {$set: {nombre: 'Jose Perez'}});[color=#000000]Eliminar un registro[/color]
[color=#000000]En este caso podemos eliminar utilizando cualquier dato, lo ideal seria consulta el id previamente para obtener un dato único[/color].
db.empleados.remove({nombre: 'Jose Perez'});[color=#000000]Si queremos eliminar todos los datos de la colección utilizamos el siguiente comando[/color]
db.empleados.remove();[color=#000000]La ventaja de realizar operaciones de este tipo es que podemos filtrar por cualquier campo de la base de datos de maneja sencilla ya que son objetos y pueden ser tratados de forma independiente.[/color]