Това не може да стане с проста заявка. Ще трябва да преминете през employee.departments и за всяка итерация да добавите неговия departments_id към масив. След това този масив можете да използвате във втория си ред. Това е нещо, което е най-добре да се направи на избран от вас език.
За да направите това по-лесно, ще трябва да промените вашата схема. Една от възможностите е да съхраните информацията за отдела в досието на служителите, но във вашия случай ще дублирате много данни.
Вместо това предлагам всеки отдел да съдържа списък с идентификационни номера на служители и дати, както следва:
{
"_id" : ObjectId("4f9643957f8b9a3f0a000004"),
"dept_name" : "Marketing",
"managers" : [
]
"employees" : [
{
"employee_id" : ObjectId("4f9643967f8b9a3f0a00005a"),
"from_date" : "1990-01-03",
"to_date" : "1990-01-15"
}
]
}
В такъв случай можете просто да стартирате:
db.departments.find( { "employees.employee_id": ObjectId("some_id") } );