【发布时间】:2019-06-13 17:09:56
【问题描述】:
我有一个简单的 mongoDB 集合,名为 usersCollection,它的一般结构是这样的:
[
{
"username" : "john",
"sex" : "m",
"email" : "john@gmail.com",
"courses" : [
{
"title" : "medicine",
"grade": 25,
},
{
"title" : "art",
"grade": 29,
},
{
"title" : "history",
"grade": 21,
}
]
},
{
"username" : "jane",
"sex" : "f",
"email" : "jane@gmail.com",
"courses" : [
{
"title" : "math",
"grade": 20,
},
{
"title" : "medicine",
"grade": 30,
}
]
},
{
"username" : "sarah",
"sex" : "f",
"email" : "sarah@gmail.com",
"courses" : [ ]
},
{
"username" : "josh",
"sex" : "f",
"email" : "josh@gmail.com",
"courses" : [
{
"title" : "english",
"grade": 28,
}
]
},
{
"username" : "mark",
"sex" : "m",
"email" : "mark@gmail.com",
"courses" : [
{
"title" : "history",
"grade": 30,
},
{
"title" : "medicine",
"grade": 19,
},
{
"title" : "math",
"grade": 22,
}
]
}
]
每个用户都是 usersCollection 的成员,并拥有一些一般信息和他/她已经完成的课程列表以及相关成绩。
谁能告诉我如何查询 usersCollection 以获取一个降序排列的数组,其中包含已完成特定课程的所有用户的对象?该数组的每个对象都应包含相关用户的“姓名”、“电子邮件”和“等级”。
例如,对名为“medicine”的课程的 usersCollection 发起查询,我会得到这个数组:
[
{
"username": "jane",
"email": "jane@gmail.com",
"grade": 30
},
{
"username": "john",
"email": "john@gmail.com",
"grade": 25
},
{
"username": "mark",
"email": "mark@gmail.com",
"grade": 19
}
]
【问题讨论】:
标签: mongodb