Qual é a melhor forma de tratar as conexões de uma api REST nodejs + mongodb? abrir somente uma conexão pra todas as chamadas que chegam na api? ou abrir e fechar a conexão para cada chamada na api?
Qual é a melhor forma de tratar as conexões de uma api REST nodejs + mongodb? abrir somente uma conexão pra todas as chamadas que chegam na api? ou abrir e fechar a conexão para cada chamada na api?
Em geral é aberta uma só conexão, como nesse exemplo mega simples disponivel no git https://github.com/ratracegrad/node-mongo-demo :
var express = require("express");
var app = express();
var port = 3000;
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
var mongoose = require("mongoose");
mongoose.Promise = global.Promise;
mongoose.connect("mongodb://localhost:27017/node-demo");
var nameSchema = new mongoose.Schema({
firstName: String,
lastName: String
});
var User = mongoose.model("User", nameSchema);
app.get("/", (req, res) => {
res.sendFile(__dirname + "/index.html");
});
app.post("/addname", (req, res) => {
var myData = new User(req.body);
myData.save()
.then(item => {
res.send("Name saved to database");
})
.catch(err => {
res.status(400).send("Unable to save to database");
});
});
app.listen(port, () => {
console.log("Server listening on port " + port);
});