我无法查询特定部门中包含的所有个人资料。
我正在将nodejs与mongo和mongoose一起使用。下一个Profile模式的示例:
Profile: {
"level": 1,
"departments": [
{
"_id": "5c5f3bb4338fde6c60a684d4",
"department": "5c106a324acd0571241323f2",
"name": "Calidad"
},
{
"_id": "5c5f3794eca3f14cd49e395e",
"department": "5c106bad99142733446a44f0",
"name": "Mantenimiento"
}
]
这是我尝试过的查询:
Profile.find({ departments: [{ department: req.params.id }] })
.then(profiles => res.json(profiles))
.catch(err =>
res.status(404).json({ nodepartmentfound: "No departments found" })
);
我希望返回带有指定部门所有配置文件的tan数组。
答案 0 :(得分:1)
尝试以下代码:
Profile.find({ "departments.department": req.params.id })
.then(profiles => res.json(profiles))
.catch(err =>
res.status(404).json({ nodepartmentfound: "No departments found" })
);
基本上,您要做的是查询嵌入式文档数组。使用点表示法足以解决您的问题。相关文档可以在here中找到。