【发布时间】:2020-05-30 06:57:23
【问题描述】:
我有两个集合“问题”和“答案”。 问题文档是这样的:
[
{
_id: "8326ccbn73487290nc",
questions: [
{id: "12345", question: "Test", correct_answer: '0'},
{id: "123456", question: "Test 2", correct_answer: '1'},
{id: "1234567", question: "Test 3", correct_answer: '1'},
]
},
{
_id: "8326ccbn734872ytruy90nclk",
questions: [
{id: "345", question: "Test", correct_answer: '0'},
{id: "3456", question: "Test 2", correct_answer: '1'},
{id: "34567", question: "Test 3", correct_answer: '1'},
]
}
]
answers文档是这样的:
{
id: '327rhrne7fr873',
user_id: '43757fn574057fnf',
question_id: '8326ccbn73487290nc',
answers: [
{ id: '12345', student_answer: '1'},
{ id: '123456', student_answer: '0'},
]
}
所以我想返回这样的东西:
[
{
_id: '8326ccbn73487290nc',
questions: [
{id: "12345", question: "Test", correct_answer: '0', student_answers: '1'},
{id: "123456", question: "Test 2", correct_answer: '1', , student_answers: '0'},
{id: "1234567", question: "Test 3", correct_answer: '1'},
]
},
{
_id: "8326ccbn734872ytruy90nclk",
questions: [
{id: "345", question: "Test", correct_answer: '0'},
{id: "3456", question: "Test 2", correct_answer: '1'},
{id: "34567", question: "Test 3", correct_answer: '1'},
]
}
]
谁能帮我做这样的事情。
【问题讨论】:
-
整个集合中只有一个问题对象吗?一个问题可以在多个
_id不同的问题对象中吗? -
整个集合可以有多个问题。不,一个问题不能针对具有不同 _id 的多个问题。
-
再来一个问题,一个答案对象可以匹配2个问题对象吗?
-
不,不能在两个问题对象上匹配
-
我只想要一个答案,因为我用 user_id 提出了 get 请求。
标签: mongodb mongodb-query aggregation-framework aggregate