Nos valemos de un endpoint descubierto por la comunidad para realizar algunas consultas.
Este código es con fines didácticos, no tiene otra finalidad mas que enseñar diferentes aspectos de programación con un ejemplo práctico.
Todos los ejemplos se basan en un módulo (get-cedula
) el cual define una función que retorna una promesa.
Las versiones simple.js
y rango.js
muestran como utilizar commander.js para crear una interfaz de linea de comandos.
Los ejemplos rango.js
y basedato.js
muestran como manejar asincronía con JS.
En basedatos.js
usamos un módulo llamado mongodb
para instanciar una conexión a una base de datos MongoDB, definimos una colección y el esquema de un documento para guardar los datos recuperados.
En mongodb-docker.md hay instrucciones para correr un servidor en Docker.
Realiza una sola consulta, despliega resultados en consola.
$ node simple.js
Usage: simple [options]
Options:
-V, --version output the version number
-c --cedula <ci> Cédula a consultar
-h, --help output usage information
Ejemplo
$ node simple.js -c 1001
$ node simple.js --cedula 1002
Consulta un rango de números, despliega resultados en consola.
$ node rango.js
Usage: rango [options]
Options:
-V, --version output the version number
-i --inicio <inicio> Número inicial
-f --fin <fin> Número final
-h, --help output usage information
Ejemplo
$ node rango.js -i 1001 -f 1002
$ node rango.js --inicio 1001 --fin 1002
Este ejemplo es mas complejo, realiza prácticamente lo mismo que el ejemplo anterios, pero guarda los datos recuperados en una colección de un serdidor MongoDB.
No lo diseñé para recibir parámetros, sino que los valores para el rango de la consulta debemos especificarlos directamente en el código.
const rango = {
inicio: 1000,
fin: 1500
};
Para correr la consulta
node basedatos.js