下面是合作伙伴关系集合,其中有用户1和2参与。其中一个用户是当前登录的用户req.user._id
,我列出了该用户的合作伙伴。
{
"_id": {
"$oid": "6381697ddddbdb42b4682fb7"
},
"users": [{
"$oid": "user_one_id"
}, {
"$oid": "user_two_id"
}],
}
我从PartnerModel中获取作为合作伙伴的用户的字段(不包括req.user._id)。
let partners =
await userPartnerModel.find({
users: { $in: [req.user._id] }
}).sort({ createdAt: -1 })
.populate({
path: 'users',
select: 'profilePic firstName',
model: userModel
})
res.status(200).json(partners)
问题是合作伙伴结果还包括req.user。
我现在得到的结果是:
{
"users":[
{
"firstName":"User One",
"profilePic":"https://image.jpg",
"_id":"63729a9a73f736476cbdd0cc"
},
{
"firstName":"User Two",
"profilePic":"https://image2.jpg",
"_id":"63728ae473f736476cbdd0be"
}
但结果不应包括req.user._id
,即“用户1”
1条答案
按热度按时间nfeuvbwi1#
嘿,你可以使用
select
函数只允许你想要的字段。默认情况下,_id字段是允许的,你可以通过添加-id
来禁止它。对于你的情况,你可以使用下面的查询: