联系人验证失败:名称:路径 "name" 处的值 "sara smith" 转换为 ObjectId 失败
contact validation failed: name: Cast to ObjectId failed for value "sara smith" at path "name"
谁能帮我解决这个问题。我不知道我的 req.user.id
到底有什么问题。我实际上是猫鼬的新手。
这是我的 contact.js
文件
router.post(
'/',
[auth, [check('name', 'name is required').not().isEmpty()]],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
const { name, email, phone, type } = req.body;
try {
const newContact = new Contact({
name,
email,
phone,
type,
user: req.user.id,
});
console.log("dfdwfwefwe ",req.user.id)
const contact = await newContact.save();
res.json(contact);
} catch (err) {
console.error(err.message);
res.status(500).send('Server errors');
}
}
);
可能在您使用的联系人架构中
name: {
type: mongoose.Schema.Types.ObjectId
}
您需要将其更改为
name: {
type: String
}
因为"sara smith"
是String
,而不是ObjectId
。这就是您的验证失败的原因
谁能帮我解决这个问题。我不知道我的 req.user.id
到底有什么问题。我实际上是猫鼬的新手。
这是我的 contact.js
文件
router.post(
'/',
[auth, [check('name', 'name is required').not().isEmpty()]],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
const { name, email, phone, type } = req.body;
try {
const newContact = new Contact({
name,
email,
phone,
type,
user: req.user.id,
});
console.log("dfdwfwefwe ",req.user.id)
const contact = await newContact.save();
res.json(contact);
} catch (err) {
console.error(err.message);
res.status(500).send('Server errors');
}
}
);
可能在您使用的联系人架构中
name: {
type: mongoose.Schema.Types.ObjectId
}
您需要将其更改为
name: {
type: String
}
因为"sara smith"
是String
,而不是ObjectId
。这就是您的验证失败的原因