联系人验证失败:姓名:路径 "name "处的值 "sara smith "转为ObjectId失败。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了联系人验证失败:姓名:路径 "name "处的值 "sara smith "转为ObjectId失败。相关的知识,希望对你有一定的参考价值。
谁能帮我解决这个问题。我不知道什么是真正的问题与我的 req.user.id
. 其实我是新来的mongoose。
这是我的 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');
);
答案
可能在你的contact schema中,你使用了
name:
type: mongoose.Schema.Types.ObjectId
你要把它改成
name:
type: String
因为 "sara smith"
是 String
,不 ObjectId
. 这就是为什么你的验证失败
以上是关于联系人验证失败:姓名:路径 "name "处的值 "sara smith "转为ObjectId失败。的主要内容,如果未能解决你的问题,请参考以下文章
验证失败:video_data.0._id:在路径 \"_ 处的值 \"\"(类型字符串)转换为 ObjectId 失败
错误:升级失败:错误验证“”:错误验证数据:ValidationError(Ingress.spec.rules[0].http):缺少必填字段“路径”
MongooseError [CastError]:模型“List”的路径“_id”的值“ name:'C'”转换为 ObjectId 失败