[英]How can I return an object from MongoDB that contain an array with ids from other collection?
Hello guys I have the following query but it returns only an array with skills instead the object with array inside 大家好,我有以下查询,但它只返回一个具有技能的数组,而不是内部带有数组的对象
To make it clearer 更清楚一点
EndorsedSkill response 认可的技能回应
{
_id
userId
skills: [
{_id},
{_id}
]
}
Skill response 技能反应
{
_id
name
}
What I want to receive is 我想收到的是
{
_id
userId
skills: [
{_id, name},
{_id, name}
]
}
The query looks like this 查询看起来像这样
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;
}
},
您能否提及一下您如何连接到mongoDB?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.