mongodb - 如何使用带有自定义字段的 mongoose-paginate 过滤架构
问题描述
我有一个包含这些数据的架构:
const Products = new mongoose.Schema({
picture: {type: String, require: true},
title: {type: String, require: true},
description: {type: String, require: true},
price: {type: Number, require: true},
category: {type: String, require: true}
})
Products.plugin(mongoosePaginate)
export default mongoose.model('products', Products)
我从 req.query 获得一个类别字段,并使用 populate 按类别对数组进行排序:
const {category} = req.query
const products = await Products.paginate({}, {
populate: [{
path: "category",
select: category
}]
}, (err, res) => {
if(err){
return res.status(500).json(err)
}
return res
})
return res.json(products)
但我收到此错误:
CastError: Cast to ObjectId failed for value "dolls" (type string) at path "_id" for model "products"
解决方案
推荐阅读
- python - 单元 Django TestCase 上的断言错误
- excel - 用于增加月份的 Excel 公式
- excel - 如何在 Excel 中跨所有变量张数比较具有可变文本的列,然后对匹配项求和?
- windows - 是否可以为 Windows 的 Git 添加用户头像图标(关闭 Windows 网络驱动器共享)
- python-3.x - 碰到python块时,R-Markdown文件中的编织停止而没有打印错误
- python - 如何通过python中的函数更改对象属性
- java - springboot RestTemplate 发布请求 401 未经授权但使用邮递员工作
- c - 使用 XCB 检测窗口焦点变化
- android - 让 RecyclerView 在 Tablayout 片段中显示
- ionic-framework - iOS 启动画面元标记在 Ionic PWA 中不起作用