在 getStaticProps Next.JS

时间:2021-02-01 06:26:43

标签: reactjs database next.js getstaticprops getstaticpaths

我正在制作静态 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 数据库,其中有产品和类别集合:

类别: enter image description here

产品: enter image description here

提前致谢!

0 个答案:

没有答案