Você está na página 1de 18

http://www.luiztools.com.

br

Node.js e
MongoDB
CRONOGRAMA
MongoDB - Movies
Conexão
MongoDB -
Movies
MongoDB - Movies

Modelo

● identificador único
● título
● duração (em minutos)
● imagem (capa promocional)
● sinopse
● data de lançamento
● categorias (ação, romance, etc)
MongoDB - Movies
MongoDB - Movies

Documento
{
_id: ObjectId("sacbaskbcksabckscstds67ds"),
titulo: "Vingadores: Guerra Infinita",
sinopse: "Os heróis mais poderosos da Marvel
enfrentando o Thanos",
duracao: 120,
dataLancamento: ISODate("2018-05-01T00:00:00Z"),
imagem: "http://www.luiztools.com.br/vingadores-
gi.jpg",
categorias: ["Aventura", "Ação"]
}
MongoDB - Movies

Iniciando

./mongod --dbpath /cinema-


microservice/movies-service/data
MongoDB - Movies

Populando
db.movies.insert([{ titulo: "Os Vingadores: Guerra Infinita", sinopse: "Os heróis
mais poderosos da Marvel enfrentando o Thanos", duracao: 120, dataLancamento:
ISODate("2018-05-01T00:00:00Z"), imagem:
"http://www.luiztools.com.br/vingadores-gi.jpg", categorias: ["Aventura", "Ação"]
}, { titulo: "Os Vingadores: Era de Ultron", sinopse: "Os heróis mais poderosos da
Marvel enfrentando o Ultron", duracao: 110, dataLancamento: ISODate("2016-05-
01T00:00:00Z"), imagem: "http://www.luiztools.com.br/vingadores-eu.jpg",
categorias: ["Aventura", "Ação"] }, { titulo: "Os Vingadores", sinopse: "Os heróis
mais poderosos da Marvel enfrentando o Loki", duracao: 100, dataLancamento:
ISODate("2014-05-01T00:00:00Z"), imagem:
"http://www.luiztools.com.br/vingadores.jpg", categorias: ["Aventura", "Ação"] }])
MongoDB - Movies

Preparando

Criar:
/cinema-microservice/movies-
service/src/config/mongodb.js
/cinema-microservice/movies-
service/src/.env
/cinema-microservice/movies-
service/src/.env.example
MongoDB - Movies

Preparando

.env.example

#.env.example, commit to repo


MONGO_CONNECTION=
DATABASE_NAME=
PORT=
MongoDB - Movies

Preparando

.env

#.env, don't commit to repo


MONGO_CONNECTION=mongodb://localhost:27017
DATABASE_NAME=movie-service
PORT=3000
MongoDB - Movies

Conectando

const MongoClient = require("mongodb").MongoClient;


var connection = null;
var db = null;
MongoDB - Movies

Conectando
function connect(callback){
if(connection) return callback(null, db);

MongoClient.connect(process.env.MONGO_CONNECTION,
(err, conn) => {
if(err)
return callback(err, null);
else {
connection = conn;
db = conn.db(process.env.DATABASE_NAME);
return callback(null, db);
}
})
}
MongoDB - Movies

Conectando
function disconnect(){
if(!connection) return true;
connection.close();
connection = null;
return true;
}

module.exports = { connect, disconnect }


Dúvidas?
Exercícios
1 Modele o banco do booking-service

2 Modele o banco do payments-service

3 Modele o banco do grocery-inventory-service


Obrigado!

Você também pode gostar