无法使用findById

时间:2017-07-23 09:45:50

标签: javascript node.js mongodb mongoose

我正在使用Node和mongoose在Blog上工作。在索引页面中,我可以显示所有帖子,但点击标题可查看完整的帖子null值。 href链接已正确插入,并且重定向到所需的链接“http://localhost:3000/posts/show/596e795be0a91a1cdcc572eb”。我尝试通过id传递查询。 posts.js - >路线

var posts = require('../models/posts');

router.get('/show/:id', function(req, res, next) {
    console.log(req.params.id);
    posts.findById(req.params.id, function(err, post){
        console.log(post);
        res.render('show',{
            "post": post
        });
    });
});

posts.js->模型

var mongoose = require('mongoose');
var Schema = mongoose.Schema;


var lists = new Schema({
    title:{
        type: String,
        required: true
    },
    author:{
        type: String
    },
    _id:{
        type: String,

    },
    category:{
        type: String
    },
    body:{
        type: String,
        required: true
    },
    date:{
        type: Date,
        default: Date.now
    }
});

var posts = module.exports = mongoose.model('posts', lists);

show.jade

extends layout

block content
    .show
        h1 #{post.title}
        p.meta Posted in
            a(href='/categories/show/#{post.category}')  #{post.category}
            span  by 
            a(href='/posts/show/#{post.author}') #{post.author} on #{moment(post.date).format("DD-MMM-YYYY")}
        img(src='/images/uploads/#{post.mainimage}')
        !=post.body
        br
        hr

输出

  

596e795be0a91a1cdcc572eb
  空

我长期以来一直坚持这个错误。阅读并尝试本网站上所有可能的解决方案。甚至经历过mongoose doc。我不知道我做错了什么。请帮忙。谢谢

0 个答案:

没有答案