SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
APIs	
  REST	
  con	
  	
  
NodeJS	
  y	
  MongoDB	
  
1.	
  REST:	
  Representa0onal	
  State	
  Transfer	
  
	
  -­‐ 	
  Definición	
  
	
  -­‐ 	
  Principios	
  
2.	
  REST	
  APIs	
  con	
  NodeJS	
  
	
  -­‐ 	
  Servidor	
  HTTP	
  
	
  -­‐ 	
  Usando	
  ExpressJS	
  
3.	
  REST	
  APIs	
  con	
  MongoDB	
  
	
  -­‐ 	
  Mongo	
  shell	
  
	
  -­‐ 	
  MongoDB	
  driver	
  	
  
	
  
CONTENIDO	
  
REST	
  APIs	
  con	
  NodeJS	
  y	
  MongoDB	
  
1.	
  Node.js 	
  	
  
	
  -­‐ 	
  hCp://nodejs.org/download/	
  
2.	
  MongoDB 	
  	
  
	
  -­‐ 	
  hCp://www.mongodb.org/downloads	
  
3.	
  MongoDB	
  driver	
  
	
  -­‐ 	
  npm	
  install	
  mongodb	
  
4.	
  ExpressJS	
  
	
  -­‐ 	
  npm	
  install	
  express	
  
5.	
  Otros	
  
	
  -­‐ 	
  npm	
  install	
  body-­‐parser	
  
REQUISITOS	
  
REST	
  APIs	
  con	
  NodeJS	
  y	
  MongoDB	
  
1.	
  REST:	
  Representa0onal	
  State	
  Transfer	
  
REST	
  APIs	
  con	
  NodeJS	
  y	
  MongoDB	
  
1.	
  Qué	
  es?	
  	
  
	
  -­‐ 	
  Un	
  esLlo	
  de	
  arquitectura	
  de	
  soOware	
  
2.	
  Qué	
  no	
  es? 	
  	
  
	
  -­‐ 	
  Un	
  estándar	
  o	
  protocolo	
  
3.	
  Quién	
  lo	
  propuso? 	
  	
  
	
  -­‐ 	
  Roy	
  Fielding	
  en	
  su	
  tesis	
  doctoral	
  
4.	
  Transferencia	
  de	
  qué?	
  
	
  -­‐ 	
  De	
  la	
  representación	
  del	
  estado	
  de	
  recursos	
  
5.	
  Por	
  ejemplo?	
  
	
  -­‐ 	
  World	
  Wide	
  Web,	
  Facebook	
  Graph	
  API	
  
1.	
  REST:	
  Principios	
  y	
  restricciones	
  
REST	
  APIs	
  con	
  NodeJS	
  y	
  MongoDB	
  
1.	
  Recursos	
  y	
  representaciones	
  
	
  -­‐	
   	
  Todo	
  en	
  términos	
  de	
  recursos	
  en	
  general,	
  no	
  de	
  archivos	
  específicos	
  
2.	
  Recursos	
  iden0ficados	
  con	
  URIs	
  	
  
	
  -­‐	
   	
  No: 	
   	
   	
   	
  facebook.com/profile.php	
  
	
  -­‐ 	
  Si: 	
   	
   	
   	
  facebook.com/username	
  
	
  -­‐	
   	
  Si: 	
   	
   	
   	
  twiCer.com/username/status/:tweetID	
  	
  
3.	
  Operaciones	
  sobre	
  recursos	
  con	
  métodos	
  HTTP 	
  	
  
	
  -­‐ 	
  GET 	
   	
   	
   	
   	
   	
  -­‐ 	
  PUT	
  
	
  -­‐ 	
  POST 	
   	
   	
   	
   	
  -­‐ 	
  DELETE	
  
4.	
  Interfaces	
  uniformes	
  con	
  sustan0vos,	
  no	
  verbos 	
  	
  
	
  -­‐ 	
  No: 	
   	
   	
   	
  /obtenerSaldoACuenta	
  
	
  -­‐ 	
  No: 	
   	
   	
   	
  /agregarSaldoACuenta	
  
	
  -­‐ 	
  Si: 	
   	
  GET 	
   	
  /cuentas/#cuenta/saldo	
  
	
  -­‐ 	
  Si: 	
   	
  POST 	
  /cuentas/#cuenta/saldo	
  
1.	
  REST:	
  Beneficios	
  
REST	
  APIs	
  con	
  NodeJS	
  y	
  MongoDB	
  
Cliente-­‐
Servidor	
  
Stateless	
   Cacheable	
   Layered	
  
Eficiencia	
   x	
  
Escalabilidad	
   x	
   x	
   x	
  
Desempeño	
  
percibido	
  
x	
   x	
  
2.	
  REST	
  APIs	
  con	
  NodeJS	
  y	
  ExpressJS	
  
REST	
  APIs	
  con	
  NodeJS	
  y	
  MongoDB	
  
1.	
  Servidor	
  HTTP	
  
	
   	
  -­‐ 	
  api	
  	
  =	
  require(‘express’)()	
  
	
  -­‐ 	
  hCp	
  =	
  require(‘hCp’).createServer(api)	
  
2.	
  Enrutamiento	
  de	
  solicitudes	
  	
  
	
  -­‐	
   	
  api.route(…)	
   	
   	
   	
   	
  -­‐ 	
  api.all(…)	
  
	
  -­‐	
   	
  api.get(…) 	
   	
   	
   	
  -­‐	
   	
  api.put(…)	
  
	
  -­‐	
   	
  api.post(…) 	
   	
   	
   	
  -­‐	
   	
  api.delete(…)	
  
3.	
  Procesamiento	
  de	
  las	
  solicitudes	
  
	
  -­‐	
   	
  req.body	
  
	
  -­‐ 	
  req.params	
  
4.	
  Respuesta	
  a	
  las	
  solicitudes	
  
	
  -­‐	
   	
  res.status(…) 	
   	
   	
   	
  -­‐ 	
  res.setHeader(…)	
  
	
  -­‐ 	
  res.write(…) 	
   	
   	
   	
  -­‐ 	
  res.end(…) 	
  	
  
3.	
  REST	
  APIs	
  con	
  NodeJS	
  y	
  MongoDB	
  
REST	
  APIs	
  con	
  NodeJS	
  y	
  MongoDB	
  
1.	
  Qué	
  es	
  MongoDB? 	
  	
  
	
  -­‐ 	
  Una	
  base	
  de	
  datos	
  no	
  relacional	
  (NoSQL)	
  
2.	
  Cuál	
  es	
  la	
  unidad	
  de	
  almacenamiento 	
  	
  
	
  -­‐ 	
  Documentos	
  (vs	
  filas	
  en	
  SQL)	
  
3.	
  Cuál	
  es	
  la	
  unidad	
  de	
  agrupación?	
  	
  
	
  -­‐ 	
  Colecciones	
  (vs	
  tablas	
  en	
  SQL)	
  
4.	
  Licencias	
  o	
  regalías?	
  
	
  -­‐ 	
  No,	
  es	
  open	
  source	
  	
  
5.	
  Ventajas	
  para	
  JavaScript?	
  
	
  -­‐ 	
  Notación	
  muy	
  similar	
  
	
   	
  -­‐ 	
  No	
  requiere	
  esquemas	
  (i.e.	
  tablas	
  SQL)	
  
	
  -­‐ 	
  Los	
  documentos	
  lucen	
  como	
  objetos	
  
	
  
3.	
  REST	
  APIs	
  con	
  NodeJS	
  y	
  MongoDB	
  
REST	
  APIs	
  con	
  NodeJS	
  y	
  MongoDB	
  
1.	
  MongoDB	
  driver	
  
	
   	
  -­‐ 	
  mongoClient	
  =	
  require(‘mongodb’).MongoClient	
  
2.	
  Conectarse	
  a	
  una	
  base	
  de	
  datos	
  
	
  -­‐	
   	
  mongoClient.connect('mongodb://localhost:27017/databaseName’)	
  
3.	
  Acceder	
  a	
  una	
  colección	
  
	
  -­‐ 	
  db.collecLon(‘collecLonName’)	
  
4.	
  Operaciones	
  CRUD	
  (Create,	
  Read,	
  Update,	
  Delete)	
  
	
  -­‐	
   	
  Create: 	
   	
  collecLon.insert(document)	
  
	
  -­‐	
   	
  Read: 	
   	
  collecLon.find(query) 	
  	
  
	
  -­‐	
   	
  Update: 	
   	
  collecLon.update(query,	
  modifier)	
  
	
  -­‐	
   	
  Delete: 	
   	
  collecLon.remote(query) 	
  	
  
5.	
  Mongo	
  Shell	
  
	
  -­‐ 	
  mongod 	
   	
  Inicia	
  el	
  proceso	
  de	
  la	
  base	
  de	
  datos	
  MongoDB	
  
	
  -­‐ 	
  mongo 	
   	
  Inicia	
  una	
  interfaz	
  de	
  línea	
  de	
  comandos	
  a	
  MongoDB	
  
Referencias	
  
	
  
-­‐ 	
  APIGEE	
  
hCp://apigee.com/	
  
	
  
-­‐ 	
  REST	
  API	
  Tutorial	
  
hCp://www.restapitutorial.com/	
  
	
  
-­‐ 	
  ExpressJS	
  
hCp://expressjs.com/	
  
	
  
-­‐ 	
  MongoDB	
  
hCp://docs.mongodb.org/manual/core/crud-­‐introducLon/	
  
hCps://github.com/mongodb/node-­‐mongodb-­‐naLve	
  
	
  
REST	
  APIs	
  con	
  NodeJS	
  y	
  MongoDB	
  
 	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  /jorgezaccaro	
  
	
  	
  	
  /bogotajs-­‐apis	
  
REST	
  APIs	
  con	
  NodeJS	
  y	
  MongoDB	
  

Mais conteúdo relacionado

Mais procurados

Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apache
garciadebora
 
Ruby On Rails Jun2009
Ruby On Rails Jun2009Ruby On Rails Jun2009
Ruby On Rails Jun2009
Sergio Alonso
 
Acceso a un servidor FTP a través de usuarios almacenados en una base de dato...
Acceso a un servidor FTP a través de usuarios almacenados en una base de dato...Acceso a un servidor FTP a través de usuarios almacenados en una base de dato...
Acceso a un servidor FTP a través de usuarios almacenados en una base de dato...
Rosariio92
 

Mais procurados (11)

Ficheros
Ficheros Ficheros
Ficheros
 
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
 
Cap9
Cap9Cap9
Cap9
 
Capitulo 9, 11 11
Capitulo 9, 11 11Capitulo 9, 11 11
Capitulo 9, 11 11
 
Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apache
 
Redis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valorRedis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valor
 
Pasos para prueba ftp de banda ku tambos
Pasos para prueba ftp de banda ku tambosPasos para prueba ftp de banda ku tambos
Pasos para prueba ftp de banda ku tambos
 
Ruby On Rails Jun2009
Ruby On Rails Jun2009Ruby On Rails Jun2009
Ruby On Rails Jun2009
 
Acceso a un servidor FTP a través de usuarios almacenados en una base de dato...
Acceso a un servidor FTP a través de usuarios almacenados en una base de dato...Acceso a un servidor FTP a través de usuarios almacenados en una base de dato...
Acceso a un servidor FTP a través de usuarios almacenados en una base de dato...
 
Replicacion en mysq
Replicacion en mysqReplicacion en mysq
Replicacion en mysq
 
Migración de datos en drupal 8
Migración de datos en drupal 8Migración de datos en drupal 8
Migración de datos en drupal 8
 

Destaque

Manual de instalacion de MongoDB - Windows 7
Manual de instalacion de MongoDB - Windows 7Manual de instalacion de MongoDB - Windows 7
Manual de instalacion de MongoDB - Windows 7
Mario Alfonso
 
Mondongo, un ODM para PHP y MongoDB
Mondongo, un ODM para PHP y MongoDBMondongo, un ODM para PHP y MongoDB
Mondongo, un ODM para PHP y MongoDB
pablodip
 

Destaque (11)

Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
 
Introducción a NoSQL y MongoDB Webinar
Introducción a NoSQL y MongoDB WebinarIntroducción a NoSQL y MongoDB Webinar
Introducción a NoSQL y MongoDB Webinar
 
Manual de instalacion de MongoDB - Windows 7
Manual de instalacion de MongoDB - Windows 7Manual de instalacion de MongoDB - Windows 7
Manual de instalacion de MongoDB - Windows 7
 
La arquitectura de elibom.com
La arquitectura de elibom.comLa arquitectura de elibom.com
La arquitectura de elibom.com
 
Mondongo, un ODM para PHP y MongoDB
Mondongo, un ODM para PHP y MongoDBMondongo, un ODM para PHP y MongoDB
Mondongo, un ODM para PHP y MongoDB
 
MongoDB - Madrid Devops Febrero
MongoDB - Madrid Devops FebreroMongoDB - Madrid Devops Febrero
MongoDB - Madrid Devops Febrero
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQL
 
MongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercadoMongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercado
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentes
 
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
 

Semelhante a APIs REST con NodeJS y MongoDB

Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
genaro martinez
 
92 Php. Instalar Php4 Como Cgi
92 Php. Instalar Php4 Como Cgi92 Php. Instalar Php4 Como Cgi
92 Php. Instalar Php4 Como Cgi
José M. Padilla
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
César Ocampo
 

Semelhante a APIs REST con NodeJS y MongoDB (20)

Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
API REST conceptos (Rails-api)
API REST conceptos (Rails-api)API REST conceptos (Rails-api)
API REST conceptos (Rails-api)
 
Taller Android Party: Automatic API REST + Notificaciones PUSH
Taller Android Party: Automatic API REST + Notificaciones PUSHTaller Android Party: Automatic API REST + Notificaciones PUSH
Taller Android Party: Automatic API REST + Notificaciones PUSH
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con REST
 
Rest
RestRest
Rest
 
Couch db
Couch dbCouch db
Couch db
 
NodeJS y MongoDB
NodeJS y MongoDBNodeJS y MongoDB
NodeJS y MongoDB
 
REST - deSymfony2012
REST - deSymfony2012REST - deSymfony2012
REST - deSymfony2012
 
Mallorca MUG: Introducción a MongoDB
Mallorca MUG: Introducción a MongoDBMallorca MUG: Introducción a MongoDB
Mallorca MUG: Introducción a MongoDB
 
php
phpphp
php
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
 
Creacion de un Repositorio Local en CentOS_6.0
Creacion de un Repositorio Local en CentOS_6.0Creacion de un Repositorio Local en CentOS_6.0
Creacion de un Repositorio Local en CentOS_6.0
 
105.desarrollo rest-con-rails
105.desarrollo rest-con-rails105.desarrollo rest-con-rails
105.desarrollo rest-con-rails
 
OpenAPI 3.0.2
OpenAPI 3.0.2OpenAPI 3.0.2
OpenAPI 3.0.2
 
Laravel 5.1
Laravel 5.1Laravel 5.1
Laravel 5.1
 
92 Php. Instalar Php4 Como Cgi
92 Php. Instalar Php4 Como Cgi92 Php. Instalar Php4 Como Cgi
92 Php. Instalar Php4 Como Cgi
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 

APIs REST con NodeJS y MongoDB

  • 1. APIs  REST  con     NodeJS  y  MongoDB  
  • 2. 1.  REST:  Representa0onal  State  Transfer    -­‐  Definición    -­‐  Principios   2.  REST  APIs  con  NodeJS    -­‐  Servidor  HTTP    -­‐  Usando  ExpressJS   3.  REST  APIs  con  MongoDB    -­‐  Mongo  shell    -­‐  MongoDB  driver       CONTENIDO   REST  APIs  con  NodeJS  y  MongoDB  
  • 3. 1.  Node.js      -­‐  hCp://nodejs.org/download/   2.  MongoDB      -­‐  hCp://www.mongodb.org/downloads   3.  MongoDB  driver    -­‐  npm  install  mongodb   4.  ExpressJS    -­‐  npm  install  express   5.  Otros    -­‐  npm  install  body-­‐parser   REQUISITOS   REST  APIs  con  NodeJS  y  MongoDB  
  • 4. 1.  REST:  Representa0onal  State  Transfer   REST  APIs  con  NodeJS  y  MongoDB   1.  Qué  es?      -­‐  Un  esLlo  de  arquitectura  de  soOware   2.  Qué  no  es?      -­‐  Un  estándar  o  protocolo   3.  Quién  lo  propuso?      -­‐  Roy  Fielding  en  su  tesis  doctoral   4.  Transferencia  de  qué?    -­‐  De  la  representación  del  estado  de  recursos   5.  Por  ejemplo?    -­‐  World  Wide  Web,  Facebook  Graph  API  
  • 5. 1.  REST:  Principios  y  restricciones   REST  APIs  con  NodeJS  y  MongoDB   1.  Recursos  y  representaciones    -­‐    Todo  en  términos  de  recursos  en  general,  no  de  archivos  específicos   2.  Recursos  iden0ficados  con  URIs      -­‐    No:        facebook.com/profile.php    -­‐  Si:        facebook.com/username    -­‐    Si:        twiCer.com/username/status/:tweetID     3.  Operaciones  sobre  recursos  con  métodos  HTTP      -­‐  GET            -­‐  PUT    -­‐  POST          -­‐  DELETE   4.  Interfaces  uniformes  con  sustan0vos,  no  verbos      -­‐  No:        /obtenerSaldoACuenta    -­‐  No:        /agregarSaldoACuenta    -­‐  Si:    GET    /cuentas/#cuenta/saldo    -­‐  Si:    POST  /cuentas/#cuenta/saldo  
  • 6. 1.  REST:  Beneficios   REST  APIs  con  NodeJS  y  MongoDB   Cliente-­‐ Servidor   Stateless   Cacheable   Layered   Eficiencia   x   Escalabilidad   x   x   x   Desempeño   percibido   x   x  
  • 7. 2.  REST  APIs  con  NodeJS  y  ExpressJS   REST  APIs  con  NodeJS  y  MongoDB   1.  Servidor  HTTP      -­‐  api    =  require(‘express’)()    -­‐  hCp  =  require(‘hCp’).createServer(api)   2.  Enrutamiento  de  solicitudes      -­‐    api.route(…)          -­‐  api.all(…)    -­‐    api.get(…)        -­‐    api.put(…)    -­‐    api.post(…)        -­‐    api.delete(…)   3.  Procesamiento  de  las  solicitudes    -­‐    req.body    -­‐  req.params   4.  Respuesta  a  las  solicitudes    -­‐    res.status(…)        -­‐  res.setHeader(…)    -­‐  res.write(…)        -­‐  res.end(…)    
  • 8. 3.  REST  APIs  con  NodeJS  y  MongoDB   REST  APIs  con  NodeJS  y  MongoDB   1.  Qué  es  MongoDB?      -­‐  Una  base  de  datos  no  relacional  (NoSQL)   2.  Cuál  es  la  unidad  de  almacenamiento      -­‐  Documentos  (vs  filas  en  SQL)   3.  Cuál  es  la  unidad  de  agrupación?      -­‐  Colecciones  (vs  tablas  en  SQL)   4.  Licencias  o  regalías?    -­‐  No,  es  open  source     5.  Ventajas  para  JavaScript?    -­‐  Notación  muy  similar      -­‐  No  requiere  esquemas  (i.e.  tablas  SQL)    -­‐  Los  documentos  lucen  como  objetos    
  • 9. 3.  REST  APIs  con  NodeJS  y  MongoDB   REST  APIs  con  NodeJS  y  MongoDB   1.  MongoDB  driver      -­‐  mongoClient  =  require(‘mongodb’).MongoClient   2.  Conectarse  a  una  base  de  datos    -­‐    mongoClient.connect('mongodb://localhost:27017/databaseName’)   3.  Acceder  a  una  colección    -­‐  db.collecLon(‘collecLonName’)   4.  Operaciones  CRUD  (Create,  Read,  Update,  Delete)    -­‐    Create:    collecLon.insert(document)    -­‐    Read:    collecLon.find(query)      -­‐    Update:    collecLon.update(query,  modifier)    -­‐    Delete:    collecLon.remote(query)     5.  Mongo  Shell    -­‐  mongod    Inicia  el  proceso  de  la  base  de  datos  MongoDB    -­‐  mongo    Inicia  una  interfaz  de  línea  de  comandos  a  MongoDB  
  • 10. Referencias     -­‐  APIGEE   hCp://apigee.com/     -­‐  REST  API  Tutorial   hCp://www.restapitutorial.com/     -­‐  ExpressJS   hCp://expressjs.com/     -­‐  MongoDB   hCp://docs.mongodb.org/manual/core/crud-­‐introducLon/   hCps://github.com/mongodb/node-­‐mongodb-­‐naLve     REST  APIs  con  NodeJS  y  MongoDB  
  • 11.                          /jorgezaccaro        /bogotajs-­‐apis   REST  APIs  con  NodeJS  y  MongoDB