Tengo un problema para recuperar información entre dos colecciones. La primera almacenes de la colección empleados información:Consulta de MongoDB EN matriz del objeto
{
"_id" : ObjectId("4f9643967f8b9a3f0a00005a"),
"birth_date" : "1963-09-09",
"departments" : [
{
"departments_id" : ObjectId("4f9643957f8b9a3f0a000007"),
"from_date" : "1990-01-03",
"to_date" : "1990-01-15"
}
],
"first_name" : "Parviz",
"gender" : "M",
"hire_date" : "1990-01-03",
"last_name" : "Lortz",
}
el segundo la información departamentos
{
"_id" : ObjectId("4f9643957f8b9a3f0a000004"),
"dept_name" : "Marketing",
"managers" : [
{
"employees_id" : ObjectId("4f96439b7f8b9a3f0a0186a9"),
"from_date" : "1985-01-01",
"to_date" : "1991-10-01"
},
{
"employees_id" : ObjectId("4f96439b7f8b9a3f0a0186aa"),
"from_date" : "1991-10-01",
"to_date" : "9999-01-01"
}
]
}
trato de encontrar: Todos los departamentos para un empleado determinado.
he intentado algo así como:
employees = db.employees.find({_id:ObjectId("some_id")});
db.departments.find({_id:{$in:...}});
Pero no sé cómo puedo explicar en $ department_id de todos los departamentos de los empleados var.
Ok .. Sí, sé sobre el problema de diseño. Pero no compartí toda la información sobre los departamentos. De hecho, cada departamento tiene una lista de gerentes (ver: publicar actualización) que explica por qué dividí los departamentos y los empleados. Y usted es sincero con respecto al bucle, pero quería saber si es posible hacerlo con la consulta simple – Kakawait
He actualizado mi respuesta, para que esto funcione, tendrá que rediseñar su esquema. – Derick