发送,获取和检索mongodb数据到jade pugjs

时间:2017-12-13 09:59:07

标签: javascript mongodb express mongoose pug

我无法从我的mongo中检索数据到我的哈巴狗模板。我已经用mongoose成功地将测试项目发布到我的数据库,它仍然在那里,但我无法在我的玉模板上显示它。

我认为我一直非常混乱和不一致,因为我不知道这是如何工作的。

这是我的GET和POST函数的index.js:

const express = require('express');
const passport = require('passport');
const Account = require('../models/account');
const Item = require('../models/item');
const router = express.Router();

router.get('/add', (req, res) => {
    if (req.user){
        res.render('add', { user : req.user });
    } else {
        res.redirect('/');
        //res.send({ error: "please log in first" });
    }
});

router.post("/add", (req, res) => {
  var item = new Item(req.body);
  item
    .save(
      new Item({
        user        : req.user,
        itemName    : req.body.itemName,
        itemType    : req.body.itemType,
        itemDesc    : req.body.itemDesc,
        itemPic     : req.body.itemPic
      })
    )
    .then(item => {
      res.render('/', { user : req.user });
      /* i used res.redirect and { item : items } but it lead me to an error when i tried posting a second test item */
    })
    .catch(err => {
      res.render('add', { user : req.user, error : req.flash('error')});
    });
});

在我的jade / pug模板中:

Listing: #{item.itemName}
Type: #{item.itemType} 
Description: #{item.itemDesc}
img(src="#{item.itemPic}", alt="", height="200px", width="200px")

旁注:我的itemPic目前采用字符串格式,就像我的其他数据一样,因为在我解决此问题后添加multer s3上传功能将是下一步。我认为它真的很容易,但我只是没有得到正确的基础知识,我无法轻松地在网上找到规则,我不知道这是否是将它称为img src的方式。

我认为我的错误处理也是一个问题,在我的layout.pug上我有:

if (error && error.length > 0)
  br
  h4.error-msg= error
  br

基本上我需要整理我的'/ add'GET和POST所以我可以从我的哈巴狗模板中检索我的mongodb数据,当我没有登录时点击添加按钮,它会弹出一个错误提示用户登录的消息。当我登录并提交我的添加表单时,它还将我的用户的ID或用户名绑定到我传递的ADD数据,因此将按用户列出此项目。如果添加时出现错误,它将只显示在我的哈巴狗/添加页面上。

非常感谢提前!我基本上是自学编码

ps - 我不知道如何在我的项目中使用邮递员

0 个答案:

没有答案