对于模型“Product”的路径“_id”处的值“ascendPrice”,Cast to ObjectId 失败是啥?
Posted
技术标签:
【中文标题】对于模型“Product”的路径“_id”处的值“ascendPrice”,Cast to ObjectId 失败是啥?【英文标题】:what's Cast to ObjectId failed for value "ascendPrice" at path "_id" for model "Product"?对于模型“Product”的路径“_id”处的值“ascendPrice”,Cast to ObjectId 失败是什么? 【发布时间】:2021-04-24 14:30:41 【问题描述】:sortByAscend (req, res)
Product.find().aggregate([
$sort: price: 1
])
.then(ascend =>
console.log("Displaying ascended price")
res.status(201).json(
ascend
)
)
.catch(err =>
console.log(err)
res.status(500).json(
message: "Internal server error"
)
)
我发送了一个请求 GET
以显示排序后升序价格的输出。
错误是
CastError: 路径中的值“ascendPrice”转换为 ObjectId 失败 模型“产品”的“_id”
我不明白错误是什么。
【问题讨论】:
【参考方案1】:错误是不言自明的。路径 _id
必须采用特定格式,而字符串 ascendPrice
不是。
Mongo _id
必须是 ObjectId
,由以下人员组成(如文档解释):
因此,您使用的值必须与此匹配,而您的号码不匹配。
所以问题在于您的集合中存在(至少)一个文档 _id
是ascendPrice
并且它不遵循模式并且不能转换为 ObjectId
。
【讨论】:
以上是关于对于模型“Product”的路径“_id”处的值“ascendPrice”,Cast to ObjectId 失败是啥?的主要内容,如果未能解决你的问题,请参考以下文章
Mongoose:CastError:对于模型“”的路径“_id”处的值“”,转换为 ObjectId 失败
CastError:对于猫鼬中模型的路径“_id”处的值“findByName”,转换为 ObjectId 失败
CastError:对于猫鼬中模型的路径“_id”处的值“findByName”,转换为 ObjectId 失败
护照注销()错误:对于模型“somemodel(不是用户模型)”的路径“_id”处的值“注销”,转换为 ObjectId 失败