How to add a new key and value to existing document in MongoDB

Viewed 63

I want to add the refreshtoken to the user info when the user logs in. So I can get the refreshtoken and pass it in my cookies.

Code:

router.post("/login", async (req, res) => {
    const user = await User.findOne({ email: req.body.email });
    if (!user) res.status(400).send({ msg: "User does not exists" });
    const validPass = await compare(req.body.password, user.password);
    if (!validPass) {
        return res.status(400).json({ msg: "email or password is incorrect" });
    }

    const accesstoken = createAccessToken(user._id);
    const refreshtoken = createRefreshToken(user._id);
    //create different versions of the refresh token

    // put the refreshtoken in the database
    User.update(
        { id: user._id },
        {
            $set: {
                refreshtoken: refreshtoken,
            },
        },
    );
    let userToken = user.refreshtoken;

    userToken = refreshtoken;

    //send token. Refreshtoken as a cookie and accesstoken as a regular
    //response
    //YOU HAVE ALREADY SAID IN THE SENDACCESTOKEN FUNCTION THAT YOU WOULD SEND THE MAIL ALSO
    sendRefreshToken(res, refreshtoken);
    sendAccessToken(req, res, user._id, accesstoken);
});
0 Answers
Related