簡體   English   中英

將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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM