Maximum call stack size exceeded mongoose nodejs

Viewed 68

hey here is a function that is called when a person follows another person in my app. mongoose throws an error of 'Maximum call stack size exceeded' after updating the followers array. if I comment out the 2 lines where I am saving followers array after pushing or where I am saving following array the error goes away but its not updating both of the arrays

the error:

RangeError: Maximum call stack size exceeded
at cloneObject (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:109:21)
at clone (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:59:16)
at cloneObject (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:120:17)
at clone (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:59:16)
at cloneObject (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:120:17)
at clone (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:59:16)
at cloneObject (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:120:17)
at clone (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:59:16)
at cloneObject (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:120:17)
at clone (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:59:16)
at cloneObject (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:120:17)
at clone (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:59:16)
at cloneObject (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:120:17)
at clone (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:59:16)
at cloneObject (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:120:17)
at clone (E:\AHSAN\PROJECTS\dev-connector\server\node_modules\mongoose\lib\helpers\clone.js:59:16)

code:

export const followAPerson = async (req, res) => {
    try {
        const { followerID, toFollowID } = req.body;

        const personToFollow = await userModel.findById(toFollowID);
        const follower = await userModel.findById(followerID);

        personToFollow.followers.push(follower);
        await personToFollow.save();

        follower.following.push(personToFollow)
        await follower.save()

        const updatedUsers = await userModel.find();

        pusher.trigger('follow', 'follow', { users: updatedUsers })

        return {
            success: true,
            msg: `You followed ${personToFollow.name}`
        }
    }
    catch (err) {
        console.log(err);
    }
}
0 Answers
Related