我正在使用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
});
我觉得我目前的方法效率很低,并且想知道是否有有效的方法来实现这一目标。
答案 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:您可能需要进行一些修改,因为我没有机会尝试代码。希望这会有所帮助:)