Struktur data Anda sulit untuk dikueri karena Anda memiliki larik dokumen yang disematkan. Dengan sedikit perubahan pada data, Anda dapat membuatnya lebih mudah untuk digunakan.
Saya telah memasukkan ID pengguna ke dalam array:
{
"contestname": "Contest1",
"description": "java programming contest",
"numteams": 2,
"teams": [
{
"teamname": "superstars",
"members": [
"50247314f501384b011019bc",
"50293cf9f50138446411001c",
"50293cdff501384464110018"
]
},
{
"teamname": "faculty",
"members": [
"50247314f501384b0110100c",
"50293cf9f50138446410001b",
"50293cdff501384464000019"
]
}
],
"term": "Fall 2012"
}
Anda kemudian dapat melakukan setara PHP find() untuk:
db.contest.find(
{'teams.members':'50247314f501384b011019bc'},
{'contestname':1, 'description':1}
)
Yang akan mengembalikan kontes yang cocok yang telah dimasukkan pengguna ini:
{
"_id" : ObjectId("502c108dcbfbffa8b2ead5d2"),
"contestname" : "Contest1",
"description" : "java programming contest"
}
{
"_id" : ObjectId("502c10a1cbfbffa8b2ead5d4"),
"contestname" : "Contest3",
"description" : "Grovy programming contest"
}