我对MongoDB相当新,并开始了解人际关系。我遇到了一个问题,我试图将一组对象存储到我的一个集合模型中。基本上这个阵列存储得很好,如果我在罗盘中看到所有正确的信息就在那里。问题在于检索数组,这里看起来像我的数组中的对象被扁平化为字符串,因为它只是检索这样的事情:
注意:我使用node Express作为我的BE框架
members: [ [Object] ] } ]
以下是我的模型:
const teamSchema = new Schema({
name:{
type:String,
trim:true,
required:'Please enter a team name'
},
owner:{
type:mongoose.Schema.ObjectId,
ref:'User'
},
members:{
type:Array,
}
});
以下是我在Node中使用模型的方法:
const team = new Team({
name:req.body.teamName,
owner:req.user._id,
members:[{
id:req.user._id,
privilege:'admin'
}]
})
try {
await team.save();
} catch(error) {
console.log(error)
}
但是当检索它并试图像这样修改它时:
const team = await Team.find({'_id':teamId});
发现它没有问题,但成员数组只显示我之前提到的内容:
members: [ [Object] ] } ]
谁能告诉我哪里可能出错了?认为这可能与我拯救它而不是检索它的方式有关
答案 0 :(得分:0)
尝试使用projection
的{{1}}字段返回搜索元素中的数组:
find