节点JS + MongoDB的 – 如何将数据从模型返回到路由?

我开始与NodeJS + MongoDB和我有一个问题几天,我不知道如何解决它。

我的问题是:

我有一个路由文件,可以调用模型,如下例所示:

路线文件:

'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' }) }) }) } 

模型文件:

 '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 } 

问题是我不知道如何将模型结果返回到路由并在用户的浏览器中显示JSON对象。

有谁能够帮助我?

试试像这样:

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

然后,在你的路线,你可以这样做:

 app.get('/api/hotels/', function(req, res) { let hotels = new app.model.Hotels(); hotels.pageList(req.params.page, req.params.qtd, (err, hotels) => { if(err) res.status(404).json({ msg: 'implementation not found' }); res.json(hotels); }) }) }