İki koleksiyonları var.MongoDB: Bir dizi alan bir öğe içeriyorsa nasıl öğrenmek için?
{ "_id" : ObjectId("51780f796ec4051a536015cf"), "name" : "John" }
{ "_id" : ObjectId("51780f796ec4051a536015d0"), "name" : "Sam" }
{ "_id" : ObjectId("51780f796ec4051a536015d1"), "name" : "Chris" }
{ "_id" : ObjectId("51780f796ec4051a536015d2"), "name" : "Joe" }
ikinci toplama kursları içerir:: İlk toplama öğrencileri kapsar
{
"_id" : ObjectId("51780fb5c9c41825e3e21fc4"),
"name" : "CS 101",
"students" : [
ObjectId("51780f796ec4051a536015cf"),
ObjectId("51780f796ec4051a536015d0"),
ObjectId("51780f796ec4051a536015d2")
]
}
{
"_id" : ObjectId("51780fb5c9c41825e3e21fc5"),
"name" : "Literature",
"students" : [
ObjectId("51780f796ec4051a536015d0"),
ObjectId("51780f796ec4051a536015d0"),
ObjectId("51780f796ec4051a536015d2")
]
}
{
"_id" : ObjectId("51780fb5c9c41825e3e21fc6"),
"name" : "Physics",
"students" : [
ObjectId("51780f796ec4051a536015cf"),
ObjectId("51780f796ec4051a536015d0")
]
}
Her ders belge kursu için kayıtlı öğrencilerin bir listesi vardır students
dizi içerir. Bir öğrenci bir web sayfasındaki bir kursa baktığı zaman, kursa kayıtlı olup olmadığını görmelidir. Bunu yapmak için, courses
toplama öğrencinin adına sorgulanan aldığında, biz students
dizi zaten öğrencinin objectId içeriyorsa öğrenmek gerekir. Orada yalnızca students
diziden öğrenci ObjectId
almak için bir bulmak sorgusunun projeksiyonunda belirtmek için bir yolu var mı?
{
"_id" : ObjectId("51780fb5c9c41825e3e21fc4"),
"name" : "CS 101",
"students" : [
ObjectId("51780f796ec4051a536015d0"),
]
}
Basit dizileri ve alt-küme dizilerini sorgulayamamaya dair düşüncelerinizi doğruladığınız için teşekkür ederim. Şemalarımı yeniden değerlendirmem gerekecek. 10Gen'in bu sorunu ele almayı planlayıp planlamadığını biliyor musunuz? – shargors
jira.mongodb.org adresinden bunun için bir Jira bileti bulamadım ve hiçbir şey bir bilet olmadan bir sürüm için planlanmış değil, bu yüzden yakında herhangi bir zamanda kesinlikle söyleyemem. –
http://stackoverflow.com/questions/8145523/mongodb-find-by-multiple-array-items – Xerri