/routers/goods.js

const express = require("express");
const Goods = require("../schemas/Goods");  // making schema

const router = express.Router();  // makes router

router.get("/goods", async (req, res, next) => {
  try {
    const { category } = req.query;  // ?category=ddd
    const goods = await Goods.find({ category }).sort("-goodsId");  // find from query. sort as goodsId

    res.json({ goods: goods });  // jsonify
  } catch (err) {
    console.error(err);

    next(err);
  }
});

router.get("/goods/:goodsId", async (req, res) => {  // : means spefic value -> goodsId
    // i need only "goodsId" item!
  const { goodsId } = req.params;
  goods = await Goods.findOne({ goodsId: goodsId });

  res.json({ detail: goods });  // jsonify
});

module.exports = router;

index.js

const goodsRouter = require('./routers/goods');
app.use("/api", [goodsRouter]);

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/0f4d192d-89d0-4195-b1a6-95eeb7407605/Screen_Shot_2021-06-25_at_8.34.19_PM.png

/api/goods

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/b7e16645-3d4e-44be-b23c-fd5466451975/Screen_Shot_2021-06-25_at_8.32.54_PM.png

/api/goods/1 (1 is the first and the last)

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/76bd768c-6265-4480-87d2-65af86d95a3a/Screen_Shot_2021-06-25_at_8.33.31_PM.png

/api/goods/2 (no value)

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/6c2ada37-6a65-43f6-8b1a-e6cbad6748b0/Screen_Shot_2021-06-25_at_8.33.55_PM.png

Test