【发布时间】:2020-07-03 15:43:12
【问题描述】:
我定义了两种模式,一种是用户,一种是文档。 在文档架构中,我使用 createdBy 字段来引用用户架构
现在当我想在文档模式中显示所有记录时,我无法访问名称
我可以访问 doc.education 或 doc.bio 但无法访问特定的文档名称
这是我尝试过的
doc
.find({})
.populate({ path: "createdBy" })
.exec((err, docs) => {
if (!err) {
console.log(docs);
}
});
我得到了这个结果
[
{
_id: 5efa9ab935f13d39b01f36e2,
createdBy: {
role: 'doctor',
isVerified: false,
_id: 5ef873fe544ef53874eaacfe,
name: 'drsmira',
email: 'drsmira@gmail.com',
password: '$2a$10$X/52qRFCYA/DwZ6Z1ZftVu2gv.MJ4HsqXrRuB8.ZLbqj.4EVtVmBG',
select: 'Female',
date: 2020-12-31T00:00:00.000Z,
phone: '342343',
city: 'dff',
state: 'dfss',
specifications: [],
__v: 0
},
bio: 'wweqeqwe',
speciality: 'dentist',
education: 'mbbs',
treatment: 'oral care',
location: 'ewrewre',
hospitalList: 'sahyadri',
awards: 'ererewrwe',
fee: '888',
__v: 0,
achievements: ''
}
]
现在我想访问名称字段。我该怎么做
我尝试过实施
console.log(docs.createdBy.name)
但返回未定义
【问题讨论】:
-
docs 是
array,因此您需要迭代数组或console.log(docs[0].createdBy.name)以获取数组中的第一个元素 -
仍然显示----无法读取未定义的属性“名称”
标签: node.js mongodb express mongoose