Tôi gặp vấn đề khi truy xuất thông tin giữa hai bộ sưu tập. Các cửa hàng thu thập thông tin nhân viên đầu tiên:Truy vấn MongoDB TRONG mảng đối tượng
{
"_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",
}
thứ hai thông tin khoa
{
"_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"
}
]
}
Tôi cố gắng tìm: Tất cả các bộ phận cho một nhân viên đưa.
tôi đã cố gắng một cái gì đó như:
employees = db.employees.find({_id:ObjectId("some_id")});
db.departments.find({_id:{$in:...}});
Nhưng tôi không biết làm thế nào tôi có thể giải thích $ trong department_id của tất cả các bộ phận từ các nhân viên var.
Ok .. Vâng tôi biết về vấn đề thiết kế. Nhưng tôi không chia sẻ tất cả thông tin về các phòng ban. Trong thực tế, mỗi phòng ban có một danh sách các nhà quản lý (xem: cập nhật bài viết) rằng tại sao tôi chia tay khởi hành và nhân viên. Và you'r đúng về vòng lặp hơn nhưng tôi muốn biết nếu nó có thể làm điều này với truy vấn đơn giản – Kakawait
tôi đã cập nhật câu trả lời của tôi, để thực hiện công việc này, bạn sẽ cần phải thiết kế lại lược đồ của bạn. – Derick