Node.js 如何从mongoose中的子对象获取集合详细信息
我想要的结果是从名为dashboard的集合中提取此给定输出,我没有dashboard集合对象的id,我唯一拥有的是其中的电子邮件对象的id: 我将向您提供所需的输出和所有必要的详细信息: 仪表板集合中存储的所需输出和数据Node.js 如何从mongoose中的子对象获取集合详细信息,node.js,mongodb,mongoose,nodes,Node.js,Mongodb,Mongoose,Nodes,我想要的结果是从名为dashboard的集合中提取此给定输出,我没有dashboard集合对象的id,我唯一拥有的是其中的电子邮件对象的id: 我将向您提供所需的输出和所有必要的详细信息: 仪表板集合中存储的所需输出和数据 { email: { id: 5f8b4cfc0064d241048d8d2e, username: 'd@d.com' }, _id: 5f8b4d670064d241048d8d2f, name: 'doud', age: 22, gender: 'male',
{
email: { id: 5f8b4cfc0064d241048d8d2e, username: 'd@d.com' },
_id: 5f8b4d670064d241048d8d2f,
name: 'doud',
age: 22,
gender: 'male',
height: 65,
weight: 65,
__v: 0
}
错误的书面代码:
router.get("/dashboard/:id", (req, res)=>{
Dashboard.find({email:req.param.id}).populate("email").exec( (err, foundDashboard)=>{
if(err){
console.log(err);
}
else{
console.log(foundDashboard);
res.render("show", {dashboard: foundDashboard});
}
});
用户模式
var UserSchema = new mongoose.Schema({
email: String,
password: String
});
仪表板模式
var DashboardSchema = new mongoose.Schema({
// image: String,
name: String,
age:Number,
gender: String,
email: {
id: {
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
username: String
},
height: Number,
weight: Number
});
只需修改这一行,然后再试一次
Dashboard.find({email:req.param.id})。填充(“email”).exec((err,foundDashboard)=>{
到
Dashboard.find({"email.id":req.param.id}).exec( (err, foundDashboard)=>{