NodeJs e connessione a MongoDB

Sto usando da pochi giorni nodejs e devo connettermi ad un database mongodb. Ho visto un po' di esempi in rete ed ho potuto notare che si può fare in diversi modi. Io adesso faccio così

var MongoClient = require('mongodb').MongoClient;

exports.addQuiz = function(req, res) {
    // Connect to the db
    MongoClient.connect("mongodb://localhost:27017/nodetest1", function(err, db) {
        if(err) { return console.dir(err); }

        var collection = db.collection('quizcollection');
        var doc1 = {'name':'test','surname':'test'};

        collection.insert(doc1);

    });
}

Conoscete un modo migliore o sapete se ci sono delle best practice a cui fare riferimento?

Grazie

Marco Ballante 03/03/2016

Per lasciare un commento devi essere autenticato Accedi

Risposte


Ciao Marco,

Per la connessione a MongoDB ti consiglio di utilizzare il modulo mongoose (http://mongoosejs.com), che oltre alla connessione ed interrogazione ti permette di definire schemi per gli oggetti che verranno ricavati dalle collezioni del db.

Per quanto riguarda la tua strategia, ti consiglio di non eseguire la connessione ogni volta in cui vuoi eseguire una query. Una best practice è quella di definire l'oggetto mongoose, ovvero la connessione, nel file principale del tuo progetto, come ad esempio app.js, per poi definire in altri file gli schemi e le funzioni di interrogazione, seguendo il pattern MVC.

In rete puoi trovare molti esempi di utilizzo del pattern MVC utilizzando MongoDB, Node.js ed ExpressJS.

Matteo Tosi 03/03/2016

Ciao Matteo, grazie. In effetti ieri ho provato proprio la soluzione che proponi e tu usando Mongoose. Adesso l'approccio è molto più a oggetti, ho fatto dei js model che si occupano della connessione al db e poi in una cartella routes ho fatto i controller. - Marco Ballante


Per lasciare un commento devi essere autenticato Accedi


Dai il tuo contributo, Rispondi alla discussione!


Non hai trovato la risposta che cercavi? Crea tu una nuova discussione
Javajob.it © 2017 - Javajob.it è un progetto realizzato da Gsoftware srls