我如何将我的数据传递到 View ,我正在使用“mongoose-simple-random”从我的数据库中选择 5 个随机食物,我想将它们传递到我的 Jade 代码上,但我不知道如何,有人可以帮助我吗,这是我的代码:
Jade 阿尔穆尔佐. Jade
extends layout
block takami
.container-fluid
.row
.col-md-12
h3 Guardar almuerzo
form(method="post", action="/almuerzo")
fieldset.form-group
label(for='nombre') Nombre de Comida
input#nombre.form-control(type='text', placeholder='Nombre', name='nombre')
fieldset.form-group
label(for='tipo') Tipo de comida
input#tipo.form-control(type='text', placeholder='tipo de comida', name='tipo')
button.btn.btn-primary(type='submit') Submit
.container-fluid
.row
.row
.col-md-12
h3 Menu de Almuerzos
.row
.col-md-2
h3 Lunes
h4 Comida
ul.list-group
each almuer in almuerzovar
li.list-group-item = almuer.nombre
hr/
h4 Bebidas
ul.list-group
li.list-group-item Horchata
li.list-group-item Horchata2
almuerzo.js(我的带有 ExpressJS 的路由器)
var express = require('express');
var almuerzoSchema = require('../models/almuerzos');
var router = express.Router();
/* GET users listing. */
router.get('/', function (request, response) {
almuerzoSchema.findRandom({}, {}, {limit: 5}, function(err, results) {
if (!err) {
response.render('almuerzo',{almuerzovar: results});
}
});
});
router.post("/", function (req,resp) {
var objAlmuerzo = new almuerzoSchema({
nombre: req.body.nombre,
tipo: req.body.tipo
});
objAlmuerzo.save(function(err,data){
if(err){
throw err;
}else{
resp.render('almuerzo');
}
})
});
module.exports = router;
通过“console.log(results)”显示数据(随机 5 项)
最佳答案
解析结果,需要映射到Object中
// ES 6 way for Node v 4.x +
let parseResult = (result) => {
return result.map((item) => item.toObject())
}
编辑:
// for ES 5
function parseResult(result) {
return result.map(function(item) {
return result.toObject()
}
}
这应该可以。该对象是MongoDb对象,需要转换为JS对象。我希望这有帮助
那么你的 GET 请求就变成了
router.get('/', function (request, response) {
// parseResult Function should be pasted here // TRY ES5 i guess you have node v.0.10
almuerzoSchema.findRandom({}, {}, {limit: 5}, function(err, results) {
if (!err) {
response.render('almuerzo',{almuerzovar: parseResult(results)});
}
});
在这里您可以看到如何使用 Model.toObject()
找到documentation这里
关于javascript - 无法传递 mongoose 数据来查看 Jade,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36881363/