我有一个模式,其返回值如下:
"_id": "61d4791786dbde4bb0ecd622",
"members": [
{
"score": 75,
"_id": "61d4791886dbde4bb0ece492",
"userId": "60df085d4729322a7464babc",
"penalties": [
{
"_id": "61d4791886dbde4bb0ece493",
"penaltyScore": -10
},
{
"_id": "61d4791886dbde4bb0ece494",
"penaltyScore": -15
}
]
},
]我想找到userId的登记簿。我试着用:
ManeuverStatistics.find(userId && { members: { $in: userId } }).exec(
(err, data) => {
if (err) {
res.status(500).send({ message: "failed!" });
return;
}
res.status(200).send(data);
}
);但没有用..。如何深入搜索以找到与userId数组中的members匹配的内容?
发布于 2022-01-05 14:03:03
我花了几个小时试图解决这个问题,但我找到了一个可能的解决方案。为了帮助其他程序员,下面是我的方法:
ManeuverStatistics.find(userId && { "members.userId": userId }).exec(
(err, data) => {
if (err) {
res.status(500).send({ message: "failed!" });
return;
}
res.status(200).send(data);
}
);基本上,我可以使用userId访问对象中的键members.userId。
https://stackoverflow.com/questions/70582534
复制相似问题