2017-04-17 91 views
0

作爲MongoDB和Mongoose的新手,我感覺真的迷失在這裏。顯示Mongoose快速查找

在嘗試了很多方法之後,我仍然堅持這樣:我無法弄清楚Mongoose是如何工作的,爲了更清晰的讀取代碼,我回到了初始狀態,我的嘗試正在崩潰node.JS.

我有這個在工作中app.js:

PolyModel.find(null, function (err, poly) { 
    if (err) { throw err; } 
    console.log(poly); 
}); 

控制檯顯示的外殼良好的效果,用一個漂亮的JSON格式。

這條線將一切交給路由器

app.use('/', index); 

我的路由器:

var express = require('express'); 
var router = express.Router(); 

router.get('/', function(req, res, next) { 
    res.render('index', { title: 'Polygon grid', author: 'Author'}); 
}); 

module.exports = router; 

我的主要問題是:我如何才能在路由器/視圖此聚值?

我已經紅了這麼多東西,想學會正確的做法。

的信息,我的最終目標是讓這個值轉換成角NG重複。

回答

1

你應該使用module.exports功能暴露在你的js文件的PolyModel架構具有所有的路由。之後,您可以在res.render上方使用它來獲取數據,然後在查詢的回調中使用res.render

如果您不想在路由javascript文件內運行查詢,那麼您可以實現一個小型快速路由器中間件。下面是它的文檔:https://expressjs.com/en/guide/using-middleware.html#middleware.router

編輯:可悲的是,我不知道如何使用既不玉模板引擎,也沒有角。我只用EJS和jQuery的工作,但我相信你可以做這樣的事情:

<script> 
var something = #{poly}; 
</script> 
+0

我想要得到它,我在app.js和index.js一個模塊的出口,但我不通過暴露PolyModel模式來理解你的意思 – Sunkhern

+0

你必須在res.render上面運行PolyModel.find()函數,如下所示: PolyModel.find(null,function(err,poly){ res。渲染(「使用聚」) } 所以你可以理解你將需要加載的PolyModel您有路線的文件中。 – itsundefined

+0

感謝您的幫助,你救了我很多天了!我現在感覺非常接近,我可以在視圖中顯示#{poly},但仍然很難使用它在我的角ng重複 – Sunkhern