【发布时间】:2021-10-02 18:50:50
【问题描述】:
我正在尝试使用参数中的userId 来获取特定用户的朋友。
router.get("/friends/:userId", async (req, res) => {
try {
const user = await User.findById({userId:req.params.userId});
const friends = await Promise.all(
user.following.map((friendId) => {
return User.findById(friendId);
})
);
let friendList = [];
friends.map((friend) => {
const { _id, username, profilePicture } = friend;
friendList.push({ _id, username, profilePicture });
});
res.status(200).json(friendList)
console.log(friendList)
} catch (err) {
res.status(500).json(err);
console.log(err)
}
});
但我得到了这个错误
CastError: Cast to ObjectId failed for value "{ userId: '61543261597a97bfdf670f0b' }" (type Object) at path "_id" for model "User"
当我注销以查看时,我的好友数据...
[
undefined,
{
_id: new ObjectId("6154346027ecc696433f5b86"),
username: 'Hemmyhtec',
email: 'emmmmaee@gmail.com',
password: '$2b$10$wVkZGu4PxlmW3geXfeBwHOxGeK6v7wyjyV7xeLzBNWQSeg5LtA.eW',
profilePicture: 'logo3.jpg',
coverPicture: '',
followers: [ '', '61543261597a97bfdf670f0b' ],
following: [ '' ],
isAdmin: false,
createdAt: 2021-09-29T09:39:44.199Z,
updatedAt: 2021-10-02T20:25:38.569Z,
__v: 0
}
]
【问题讨论】:
标签: javascript node.js mongodb express mongoose