我正在制作静态 Next.JS 电子商务应用。
对于返回类别中的产品,我有不同的逻辑,因此我在 getStaticProps 中使用以下代码:
getStaticProps ({ params }) {
...
let productsData, products = []
if (cat_slug == "all") {
productsData = await ProductModel.find({})
products = productsData.map((doc) => {
const product = doc.toObject()
product._id = product._id.toString()
return product
})
} else {
productsData = await ProductModel.find({categories: `/${cat_slug}`})
products = productsData.map((doc) => {
const product = doc.toObject()
product._id = product._id.toString()
return product
})
}
return { props: { category, products }, revalidate: 120 }
这是正确的方法吗?或者我需要默认为所有产品添加“所有”类别记录以删除if语句?
更多信息:
我有 mongo 数据库,其中有产品和类别集合:
提前致谢!