javascript - 如何从 MongoDB 返回一个对象,该对象包含一个带有其他集合 id 的数组?
问题描述
大家好,我有以下查询,但它只返回一个包含技能的数组,而不是里面包含数组的对象
为了更清楚
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;
}
},
解决方案
您能否提及您是如何连接到 mongoDB 的?
推荐阅读
- c++ - 如何将成员函数作为参数传递?
- dns - 使用所有独立的提供商托管域、电子邮件和网站
- racket - 球拍 - 以指数为底,不相乘
- ffmpeg - ffmpeg libfdk-aac 打开编码器错误并显示编码器时基未设置
- c# - 房间体积计算 - 奇怪的行为和获得房间实体的最准确方法是什么?
- python - Beautifusoupl 关于使用内部 html 提取文本的问题
- swift - UIImage(data: Data) 是异步的吗?
- c# - 无法侦听前缀“http://localhost:5041/”,因为它与机器上的现有注册冲突
- java - Android:从 sampledata 文件夹中读取 json
- jekyll - 如何安装 Jekyll 子命令?