Как добавить новый ключ и значение в существующий документ в MongoDB

#node.js #mongodb #express

#node.js #mongodb #экспресс

Вопрос:

Я хочу добавить refreshtoken информацию о пользователе при входе пользователя в систему. Таким образом, я могу получить refreshtoken и передать его в своих файлах cookie.

Код:

 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);
});