【发布时间】:2023-01-26 00:42:56
【问题描述】:
我需要添加一个用户 我在从 thunderclient 访问这个端点时创建了这个 Auth.js 文件,我必须捕获错误并且必须发送一个 res.json 但没有发生我应该怎么做:
授权.js
const express=require('express');
const User = require('../models/User');
const router=express.Router();
const { body, validationResult } = require('express-validator');
router.post('/',[
body('email').isEmail(),
body('name').isLength({ min: 5 }),
body('password').isLength({ min: 5 })
], async (req, res)=>{
try{
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
User.create({
name: req.body.name,
password: req.body.password,
email: req.body.email
}).then(user => res.json(user));
}
catch(errors) {
console.error(errors)
res.json({error:'Please Use A Unique Value'})
}
})
module.exports = router
【问题讨论】:
-
返回回调(新错误_1.MongoServerError(res.writeErrors[0])); ^ MongoServerError: E11000 重复键错误集合:inotebook.users index: email_1 dup key: { email: "us@nootik.com" } at index: 0, code: 11000, keyPattern: { email: 1 }, keyValue: { email : 'us@nootik.com' }, [Symbol(errorLabels)]: Set(0) {} } Node.js v18.8.0 [nodemon] 应用程序崩溃 - 在开始之前等待文件更改...
-
你在 thunderclient 中得到什么回应?
标签: node.js mongodb express mongoose