【发布时间】:2018-12-19 11:14:41
【问题描述】:
我在使用 mongodb 时遇到了一些问题
我的数据库中有用户架构,其中有两个参考 用于结果和另一个用于测试
var userSchema = new mongoose.Schema({
username: String,
email: { type: String , unique: true , required: true} ,
password: String,
gender: { type: String , required: true},
memberShip: {type: String , required: true , default: "pro"},
results: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Result"
}
],
tests: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Test"
}
],
resetPasswordToken: String,
resetPasswordExpiration: Date
});
这是我的结果架构
var resultSchema = new mongoose.Schema({
testName: String,
testId: Number,
totalResult: Number
})
这是测试模式
var testSchema = new mongoose.Schema({
testNumber: Number
})
问题是我想在 html 中访问这些引用以向用户显示值 我尝试使用填充但我没有工作
app.get("/test/:id" , isLoggedIn ,function(req , res){
User.findById(req.params.id).populate("results").populate("tests").exec(
function(error , userResult){
if(error && !userInfo){
console.log(error)
req.flash("error" , "error")
res.redirect("back")
} else {
res.render("testPage" , {userResult: userResult})
}
})
})
【问题讨论】:
-
您面临什么问题?有什么错误吗?
-
不,没有错误,但值也没有显示在html中
-
您可以记录您的 userResult 并将其放入问题中吗,您还可以展示您如何建模您的架构
-
是的,它打印得很好,但是当我尝试访问 testNumber 的值时它打印 undefined 我想我访问 ref 值有误
-
我这样打印 console.log(userResult.tests.testNumber)
标签: javascript html css node.js mongodb