2017-04-17 83 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