我正在使用 Node.js、Mongoose 和 MongoDB。在 Postman 中进行测试。
2个用户可以回答问题。我想组织一下,稍后也显示这些问题和 2 个用户的答案。我可以实现将 2 个用户的答案分成两个不同的数组。但我想要的是:问题不应该重复,答案应该附加到两个用户回答的问题上。
使用这段代码,我几乎达到了预期的结果,但并不完美。请看下面我的预期结果。
let user = await User.findById(req.user.id);
let user2 = await User.find({ matched: user.email });
let answer = await Answer.find({
by: user.email,
});
let answer2 = await Answer.find({
by: user2[0].email,
});
var array = [];
var allAnswers = {};
allAnswers["1"] = answer;
allAnswers["2"] = answer2;
array.push(allAnswers);
res.json(allAnswers);
不太好的结果:
{
"1": [
{
"question": "Question1",
"answer": "some answer",
"by": "user2"
}
],
"2": [
{
"question": "Question1",
"answer": "some answer",
"by": "user1"
},
{
"question": "Question2",
"answer": "some answer",
"by": "user1"
}
]
}
预期和期望的结果:
{
"Question1": [
{
"answer": "some answer",
"by": "user2"
},
{
"answer": "some answer",
"by": "user1"
}
],
"Question2": [
{
"answer": "some answer",
"by": "user1"
}
]
}
由于 user2 没有回答 Question2,我不想显示:
{
"Question1": [
{
"answer": "some answer",
"by": "user2"
},
{
"answer": "some answer",
"by": "user1"
}
],
}
当然,可能有数百个相关问题,但只有两个用户回答。
慕神8447489
相关分类