2つのコレクション間で情報を取得するのに問題があります。 最初のコレクションを格納し、従業員の情報:MongoDBクエリINオブジェクトの配列
{
"_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",
}
秒1部門情報
{
"_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"
}
]
}
私は探してみてください:与えられた従業員すべての部門を。
私のような何か試してみました:
employees = db.employees.find({_id:ObjectId("some_id")});
db.departments.find({_id:{$in:...}});
をしかし、私はVaRの従業員からのすべての部門のDEPARTMENT_IDに$を説明できるのか分かりません。
いいえ..私はデザインの問題について知っています。しかし、私は部署に関するすべての情報を共有していませんでした。実際、各部門には、なぜ私が部署と従業員を分割したのかというマネージャのリストがあります(ポスト更新を参照)。ループオーバーについては真実ですが、単純なクエリでこれを行うことができるかどうかを知りたがっています。 – Kakawait
私は自分の答えを更新しました。この作業をするには、スキーマを再設計する必要があります。 – Derick