【发布时间】:2021-09-15 17:25:14
【问题描述】:
我有一个名为“assignments”的集合,如下所示:
[
{
"_id" : ObjectId("60e1d5824a5b1c32c069c864"),
"course" : ObjectId("5ffeec372b2234556439d1da"),
"students" : [
{
"_id" : ObjectId("60e1d5824a5b1c32c069c865"),
"user" : ObjectId("601e489fb77a9fabf85ea306"),
"section" : ObjectId("6002fae3e58bc750b4394229")
},
{
"_id" : ObjectId("60e1d5824a5b1c32c069c866"),
"user" : ObjectId("601e48cdb77a9fabf85ea307"),
"section" : ObjectId("6002fae3e58bc750b4394229")
}
]
},
{
"_id" : ObjectId("60e1c8a6a2886142b8b86523"),
"students" : [
],
"course" : ObjectId("5ffeec372b2234556439d1da"),
}]
在这里您会看到一个名为“students”的数组。我想在查询“作业”时获取“用户”和“部分”的详细信息。
我正在使用 graphql。而“学生”是“作业”类型的字段,如下所示:
type AssignmentStudent{
user:User
section:Section
}
type Assignment{
id:ID!
createdAt:Date
updatedAt:Date
course:Course!
students:[AssignmentStudent!]
}
当我查询时,我得到了“课程”的信息,但对于“学生”我不知道该怎么做。
在“作业”解析器中,我编写了这样的“课程”查询:
Assignment: {
async course(parent, { input }, context, info) {
try {
return await Course.findById(parent.course)
} catch (err) {
console.log('err', err.message);
}
}
}
对于“学生”的实际结果,我该怎么办?
【问题讨论】:
-
请展示您尝试过的任何方法以及您面临的问题。
-
我已经更新了我的问题。你现在可以检查一下吗?
标签: node.js mongodb mongoose graphql apollo-server