【发布时间】:2020-11-25 14:11:20
【问题描述】:
我的数据库结构是这样的:
{
'name' : 'entry one'
'project' :
[
{companyName : 'a name', contactPerson : [{ work_email: 'test@test.com'}] } ,
{companyName : 'a name1', contactPerson : [{ work_email: 'test1@test.com'}] } ,
{companyName : 'a name2', contactPerson : [{ work_email: 'test2@test.com'}] }
]
}
{
'name' : 'entry 2'
'project' :
[
{companyName : 'another name', contactPerson : [{ work_email: 'testing@test.com'}] } ,
{companyName : 'another name1', contactPerson : [{ work_email: 'testing1@test.com'}] } ,
{companyName : 'another name 2', contactPerson : [{ work_email: 'testing2@test.com'}] }
]
}
我想要的是找到属于给定工作电子邮件的公司名称。所以如果work_email是test@test.com,那么应该返回的公司名称应该是'a name'
所以我用猫鼬构建的查询是这样的:
const projects = await ClientManagers.findOne({'project.contactPerson.work_email' : 'test@test.nl'} , 'project.companyName');
但这会返回所有公司名称(从条目一开始),而不是我正在寻找的一个。
【问题讨论】:
标签: javascript node.js mongodb mongoose