Connessione a MongoDB con Node.js e Express

Mattepuffo's logo
Connessione a MongoDB con Node.js e Express

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!


Share this Post

Commentami!