我正在尝试在数据库中添加多个名称,在此之前我想检查该名称是否已经存在。数据库已经有字段"Name": "radhaa"
,但我收到这个错误CastError: Cast to string failed for value "{ Name: 'radhaa' }" (type Object) at path "Name" for model "user"
请帮助我,提前感谢
我正在尝试以下查询。const roles = await User.find({ Name : req.body.Name })
在邮递员那里,我试着这样做:
[{
"Name": "radhaa"
},{
"Name": "sitha"
}]
您正试图将对象{ Name: 'radhaa' }
传递给模型中的Name
属性,该属性是string
似乎是req.body.Name = { Name: 'radhaa' }
而应该是req.body.Name = 'radha'
仔细检查您从邮递员发送的请求正文
毕竟req.body
应该像这个{ Name: 'radha' }
虽然它是这样发送的,但我想是{ Name: { Name: 'radhaa' } }
-
如果您首先要检查名称是否已经存在,则必须使用
.find()
方法并使用if..else
来检查名称是否已存在。如果它存在,则返回响应;否则,如果它不存在,则将记录保存到数据库中。 -
当你试图发送一个数组作为请求体时,你必须使用循环,对于数组检查的每个值,都使用我上面提到的
step 1
,这样你就只能在数据库中获得唯一的值。
注意:请检查mongodb数据库的属性和键的名称。小写和大写很重要。