Monday, 3 April 2017

Node JS + MongoDB - How to return data from model to a route?

I'm starting with NodeJS + MongoDB and I have a question about a couple of days that I could not figure out how to solve it.

My problem is:

I have a route file that makes a call to a model, as in the example below:

Routes file:

'use strict';

module.exports = function(app) {
app.get('/api/hotels/', function(req, res) {
    let hotels = new app.model.Hotels();

        hotels.pageList(req.params.page, req.params.qtd, (err, docs) => {

            res.status(404).json({
                msg: 'implementation not found'
            })

        })
    })
}

Models file:

'use strict';

function Hotels() {
    this._hotels = process.db.get().collection('hotels')
    this._ObjectID = process.db.ObjectID()
}

Hotels.prototype.pageList = function(page, qtd, cb) {
    //list all hotels
    this._hotels.find(function(err, hotels) {

        if (err) {
            return err;
        } else {
            return hotels;
        }
    })

    cb()
}

module.exports = function() {
    return Hotels
}

The problem is that I'm not sure how I can return the model result to the route and display JSON object in the user's browser.

can anybody help me?



via Bruno César

No comments:

Post a Comment