多个猫鼬查询

时间:2019-07-02 21:04:25

标签: node.js mongoose

我正在使用node和mongoose对我的mongodb运行查询。我有3个正在运行的查询,如下所示:

/site
  /assets
    /images
        - ce-drop-above.png
        - ce-drop-below.png
        - ce-drop-left.png
        - ce-drop-right.png
        - video.png
    - content-tools.min.js
    - content-tools.min.css
    - icons.woff

});

我觉得我目前的方法效率很低,并且想知道是否有有效的方法来实现这一目标。

1 个答案:

答案 0 :(得分:0)

当然,可以使用async / await简化并提高可读性: 试试这个:

router.put('/user/reset/password/:token', async (request,response) => {
    try {
        if(!request.params.token) return response.status(400).send("Request Parameter Is Missing");
        if(!request.body) return response.status(400).send("Request Body Is Missing");
        const document = await AuthModel.findOne({token:request.params.token,});
        if(!document) response.status(401).send("User Naot Found");
        const { email } = document;
        const userDocument = {
            email,
            password: request.body.password,
        };
        const updateRes = await UserModel.findOneAndUpdate({ email, }, userDocument, { new: true });
        if(!updateRes) return response.status(401).send("User not found");
        const removeRes = await AuthModel.findOneAndRemove({ email, });
        if(!removeRes) return response.status(401).send("User not found");
        return response.status(200).send(document);
    } catch(error) {
        return response.status(500).send(error);
    }
});

ps:您可能需要进行一些修改,因为我没有机会尝试代码。希望这会有所帮助:)

相关问题