Tôi gặp tài liệu sau đây trong MongoDBphù hợp với lĩnh vực nội bộ trong MongoDB
{
"_id" : ObjectId("517b88decd483543a8bdd95b"),
"studentId" : 23,
"students" : [
{
"id" : 23,
"class" : "a"
},
{
"id" : 55,
"class" : "b"
}
]
}
{
"_id" : ObjectId("517b9d05254e385a07fc4e71"),
"studentId" : 55,
"students" : [
{
"id" : 33,
"class" : "c"
}
]
}
Note:
Không phải là dữ liệu thực tế nhưng schema là chính xác như vậy.
Requirement:
Tìm tài liệu mà phù hợp với studentId
và students.id
(id bên trong mảng học sinh sử dụng đơn truy vấn.
Tôi đã thử đoạn code như dưới đây
db.data.aggregate({$match:{"students.id":"$studentId"}},{$group:{_id:"$student"}});
Result:
rỗng Array, Nếu tôi thay thế {"students.id": "$ studentId"} thành {"students.id": 33} nó sẽ trả lại tài liệu thứ hai trong json được hiển thị ở trên.
Có thể lấy tài liệu cho kịch bản này bằng truy vấn đơn không?
Làm việc tốt, Cảm ơn bạn đã giải thích. +1 – karthick