Clase 7: Código básico de JS e introducción a mongo db

 Por: David Alejandro Ijaji


ARRAYS PARTE II

Son conjuntos de datos con los que se pueden usar diferentes operaciones. 

Un array tiene elementos los cuales se enumeran desde cero hasta el n-esimo elemento. Podemos acceder a cada elemento por su index de la siguiente forma:

>>Luis

Los arrays en JS pueden tener diferentes tipos de datos lo cual es una ventaja frente a otros lenguajes como Java


Algunos métodos de los arrays:


push: recibe una lista de datos y la agrega al array al final en el mismo orden y
devuelve la nueva longitud de datos
pop: Elimina el último dato del array y lo devuelve
indexOf:Devuelve el index de un elemento en el array
includes: Devuelve true o false dependiendo si en una cadena de datos se encuentra
         dentro de otra cadena de datos.
split: Parte una cadena de datos y lo convierte e un array


la forma en que se utilizan los metoso es asi:

array.cualquierMetodoDeseado("Argumentos");


Objetos:

Estos se caracterizan por contener una clave y un valor por ejemplo:

const persona = {
    primerNombre: 'Andrés',
    primerApellido: 'Castillo',
    anioNacimmiento:1990,
    profesion:'profesor',
    amigos: amigos,
    //se pueden embeber objetos en otros objetos y también funciones
    calcularEdad:() => {
        return Date -1990;
    },
    toSstring: function() {
        //this es para que busque la variable
 dentro del objeto, como el self en Python 
        return  `Primer nombre: ${this.primerNombre}, primer apellido...`
    }
}

 Bucles:

Existe el for y el while que funcionan igual que en python su sintaxis es un poco diferente.

for(let i = 0i<= 30i++){
    console.log('iteracion: ' + i);
}

let i = 0;
while (i<=0){
    console.log('iteracion: ' +i);
    i++;
}


Gestión de procesos en JS


JS tiene una gestión de procesos muy buena en la que se ejecuta el código secuencialmente, pero apenas se detectan procesos asincrónicos (como un API) estos pasan a otra cola donde van siendo ejecutados aparte para permitir el flujo de trabajo en el código principal, luego los resultados de los procesos asincrónicos se almacenan para posteriormente para a la cola de procesos principales, esto hace de JS un lenguaje muy eficaz.

Bases de datos no relacionales 

Estas existen desde 1960, pero su auge se dio en 2012. 

Su primicia es ser eficaces, ya que requiere menos recursos para gestión y su creación.

 Las bases de datos no relacionales son mas flexibles por lo que es más difícil hacerlas consistentes

Hay varios tipos de bases de datos no relacionales:


Schema-Less:

No hay definición de estructura de datos

Los datos pueden ser grabados arbitrariamente (no tengo que especificar espacio)

La estructura de datos se crea con la creación del dato mismo

No hay estructura en bases de datos, esta complejidad se traslada a la aplicación la cual debe decidir como ordena los datos 

Clave-valor: 

Sirven para memoria

Column-family: 

Se crean tablas como en SQL, pero son más flexibles.

Grafos: 

Datos almacenados en nodos con relaciones entre ellos para acceder a al información.

BD documentales: 

Los datos son almacenados en los documentos (JSON: notación de objeto de JS) y cada documento define su estructura según los datos guardados.

Ventajas:

  • Fácil de usar (curva de aprendizaje no muy larga)
  • Es muy flexible
  • No utilizan un lenguaje declarativo de consulta
  • Tiene la cualidad de fragmentación que permite separar la BD en diferentes máquinas, permite escalar la BD

 Bases de datos documentales


  • Cada documento tiene una clave única, esto hace más rápida la consulta
  • JSON(javascript object notation)
  • Es un estándar de comunicación con la bd
  • YAML solo otro de lenguaje de marcado más y es más entendible para humanos

MONGO DB

Para ejecutar mongo y dejarlo iniciado se usa mongo demon.

C:\Users\david>mongod                                                                                                                              

Luego se ejecuta el comando mongo para empezar a trabajar con mongodb

C:\Users\david>mongo                                                                                                                              

Algunos comandos:

shows dbs //Lista las bases de datos                                 

use movies //cambia a la base de datos                               

db.peliculas.insertOne({nombre: "Pulp fiction"})//inserto elemento en una coleccion, si la colección no existe, la crea.


db.peliculas.find().pretty() //sirve para lectura de la bd o encontrar por algún campo específico                        


db.peliculas.find().forEach()                                 

db.peliculas.find().count()                                   

CRUD: CREATE, REED, UPLOAD, DELETE









Comentarios

Entradas más populares de este blog

Implementación backend y Docker: Sistema computarizado de datos LIS perfil lipídico

CLASE # 3: BASES DE DATOS

Clase 1: Introducción al curso y a Linux