大家好,我有下面的查询,但它只返回一个包含技能的数组,而不是其中包含数组的对象
为了让它更清晰
EndorsedSkill响应
{
_id
userId
skills: [
{_id},
{_id}
]
}技能响应
{
_id
name
}我想要得到的是
{
_id
userId
skills: [
{_id, name},
{_id, name}
]
}该查询如下所示
getUsersSkills: async (_, { u_id, ...args }, { user }) => {
try {
await requireAuth(user);
const p1 = Skill.find({}).sort({ createdAt: -1 });
const p2 = EndorsedSkill.findOne({ userId: u_id });
const [skills, endorsed] = await Promise.all([p1, p2]);
const checkEndorsedSkills = await skills.reduce((arr, skill) => {
const s = skill.toJSON();
if (endorsed.skills.some(s => s.equals(skill._id))) {
arr.push({
...s,
endorsed: true
});
} else {
arr.push({
...s,
endorsed: false
});
}
return arr;
}, []);
const endorsedSkills = checkEndorsedSkills.filter(
skill => skill.endorsed === true
);
return endorsedSkills;
} catch (error) {
throw error;
}
},发布于 2019-08-21 22:48:27
你能提一下你是如何连接到mongoDB的吗?
https://stackoverflow.com/questions/57577695
复制相似问题