Connessione a MongoDB con Node.js e Express
Nel corso degli anni abbiamo già parlato sia di Express che di come connettersi a MongoDB con Node.js.
Oggi mettiamo insieme tutti questi elementi.
Partiamo dal package.json:
{
"name": "films-server",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"express": "~4.16.1",
"mongodb": "^3.5.5",
"nodemon": "^2.0.2"
}
}
L'unica dipendenza di cui potete fare a meno è nodemon; però è comoda per non dover stoppare e rilanciare il server ad ogni modifica.
Comunque, entrate nella directory del progetto e date questo comando:
$ npm install
Questo il notro file app.js:
const express = require('express');
const MongoClient = require('mongodb').MongoClient;
const app = express();
const uri = "mongodb://HOST:27017";
const client = new MongoClient(uri, {useNewUrlParser: true, useUnifiedTopology: true});
const port = 8080;
app.get('/', function (request, response, next) {
client.connect(err => {
if (err) {
response.json(err);
} else {
const collection = client.db("db_films").collection("films");
collection.find({}).toArray(function (err, result) {
if (err) {
response.send(err);
} else {
response.send(result);
}
client.close();
});
}
});
});
app.listen(port, function () {
console.log("Started on http://localhost:" + port);
});
Come vedete è molto semplice.
Potete avviare il tutto così:
$ nodemon app.js
Se non ci sono errori, e trovi i records nel db e collection indicati, li restituirà direttamente in formato JSON.
Enjoy!
javascript nodejs express mongodb
Commentami!