我从终端检查了我的数据库,数据没问题,但填充“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/