无法将 mongodb 文档添加到控制器中的数组中
Having trouble adding mongodb documents into an array in controller
正如标题所说,我正在尝试将 mongodb 中的文档添加到控制器中的数组中。以下代码是我的控制器的样子:
var express = require('express');
var router = express.Router();
var moviesModel = require("../models/movies");
/* GET /movies/ listing. */
router.get('/', function(req, res, next) {
moviesModel.find({}).where('Price').gt(10000).exec(function(err,movies){
if(err) throw err;
console.log(movies);
});
});
module.exports = router;
控制台上方的代码记录了 5 个文档。这些是我要添加到数组中的文档。我的目标是将文档插入数组,然后遍历每个元素并通过视图显示它。我不知道这是否可能。如果您对我应该如何处理此问题有任何建议,请告诉我。任何帮助,将不胜感激。谢谢!
首先,您必须通过 res.render
方法的第二个参数将 movies
传递给视图:
var express = require('express');
var router = express.Router();
var moviesModel = require("../models/movies");
/* GET /movies/ listing. */
router.get('/', function(req, res, next) {
moviesModel.find({}).where('Price').gt(10000).exec(function(err,movies){
if(err) throw err;
console.log(movies);
res.render('layout.ejs', {movies: movies});
});
});
module.exports = router;
第二步是在视图中循环 movies
并以您想要的格式输出,如下所示:
layout.ejs
<!DOCTYPE html>
<html lang="en">
<head>
<title>My movies</title>
</head>
<body>
<ul>
<% for(var i=0; i<movies.length; i++) {%>
<li><%= movies[i] %></li>
<% } %>
</ul>
</body>
</html>
正如标题所说,我正在尝试将 mongodb 中的文档添加到控制器中的数组中。以下代码是我的控制器的样子:
var express = require('express');
var router = express.Router();
var moviesModel = require("../models/movies");
/* GET /movies/ listing. */
router.get('/', function(req, res, next) {
moviesModel.find({}).where('Price').gt(10000).exec(function(err,movies){
if(err) throw err;
console.log(movies);
});
});
module.exports = router;
控制台上方的代码记录了 5 个文档。这些是我要添加到数组中的文档。我的目标是将文档插入数组,然后遍历每个元素并通过视图显示它。我不知道这是否可能。如果您对我应该如何处理此问题有任何建议,请告诉我。任何帮助,将不胜感激。谢谢!
首先,您必须通过 res.render
方法的第二个参数将 movies
传递给视图:
var express = require('express');
var router = express.Router();
var moviesModel = require("../models/movies");
/* GET /movies/ listing. */
router.get('/', function(req, res, next) {
moviesModel.find({}).where('Price').gt(10000).exec(function(err,movies){
if(err) throw err;
console.log(movies);
res.render('layout.ejs', {movies: movies});
});
});
module.exports = router;
第二步是在视图中循环 movies
并以您想要的格式输出,如下所示:
layout.ejs
<!DOCTYPE html>
<html lang="en">
<head>
<title>My movies</title>
</head>
<body>
<ul>
<% for(var i=0; i<movies.length; i++) {%>
<li><%= movies[i] %></li>
<% } %>
</ul>
</body>
</html>