node.js - 模式和模型都正常,但 Mongoose .populate 不起作用

标签 node.js mongodb mongoose-populate

我从终端检查了我的数据库,数据没问题,但填充“commnets”时仍然给我 ID

这是我显示数据的路线

var camp_id= req.params.id ;
Campground.findById(camp_id).populate("commnets").exec(function(err,fcg){
    if(err) { console.log(err) ;}
    else {
        console.log("No err") ;
        console.log(fcg) ;
        res.render("show",{campground: fcg});}


}) ;

moongose 模式(营地和评论)

var campgroundSchema = new mongoose.Schema( {
name: String ,
image: String ,
description : String ,
comments: [
    {
        type: mongoose.Schema.Types.ObjectId,
        ref: "Commnet"
    }
 ]
 } ) ;

var Campground = mongoose.model("Campground",campgroundSchema);

var commentSchema = new mongoose.Schema({
text: String ,
aurthor: String
}) ;

var Comment = mongoose.model("Commnet",commentSchema) ;

最佳答案

我认为这是因为拼写错误。您需要使用“评论”而不是“commnets”

var camp_id= req.params.id ;

Campground.findById(camp_id).populate("comments").exec(function(err,fcg){
    if(err) { console.log(err) ;}
    else {
        console.log("No err") ;
        console.log(fcg) ;
        res.render("show",{campground: fcg});}


}) ; 

关于node.js - 模式和模型都正常,但 Mongoose .populate 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45929330/

相关文章:

node.js - 如何从node.js以编程方式运行 `yarn tag`?

javascript - 对象 : null prototype does not allow to retrieve a value

node.js - 从两个集合填充

node.js - Mongoose 查询 : populate top 2 comments from Post Schema

xml - 实现 W3C XML DOM 的 Node.js 库?

javascript - 如何解决 Angular js 中的 json 解析问题

MongoDB:使用与输入文档变量的匹配

mongodb - 使用比物理服务器更多的分片来传播 Mongo 写入有意义吗?

mongodb - 用于更新 mongodb 数据的 '$' 索引有问题

Mongoose 用多个子路径填充路径