Mongoose:如何在nodejs中对嵌套集合编写查找查询

oprakyz7  于 2023-04-06  发布在  Go
关注(0)|答案(1)|浏览(135)

我是mongodb,mongoose和nodejs的新手。在使用这些技术开发一个功能时,我遇到了一种情况,我必须根据child的列值来查找集合行。
这就是“应用程序”集合的样子。

[
{
_id:"",
applicant:"John",
jobID:ObjectId("job_id_1"),
{
_id:"",
applicant:"Tom",
jobID:ObjectId("job_id_2"),
]

应用程序集合具有jobID列。作业集合具有标题。
我想搜索所有申请职位名称为“5+ Y工程师”的申请人。
我写了像Applications.find({"jobID.title":"5+ Y Engineer"})这样的代码。但是这并没有返回任何东西。我在这里做错了什么吗?

h5qlskok

h5qlskok1#

Applications.find({})
.populate({
    path: 'jobID',
    match: { title: '5+ Y Engineer' }
  })


// Applications where job title is "5+ Y Engineer"
    const filteredApplications = applications.filter(application => application.jobID !== null);
    // Do something with filteredApplications
  });

我们使用populate()方法。将每个申请文档中的“jobId”字段替换为完整的工作文档。我们还传递了一个匹配选项来过滤jon文档。基于标题Filed。

相关问题