Как отобразить детали в отношениях один ко многим - PullRequest
0 голосов
/ 03 апреля 2020

В моем случае одна основная категория имеет много подкатегорий.

определена модель основной категории:

const MainCategorySchema = mongoose.Schema({
  mainCategoryName: {
    type: String,
    unique: true,
    required: true,
  },
});

определена модель подкатегории

const SubCategorySchema = mongoose.Schema({
  subCategoryName: {
    type: String,
    unique: true,
    required: true,
  },
  main_category: {
    type: mongoose.Schema.Types.ObjectId,
    ref: "MainCategory",
  },
});

module.exports.getAllSubCategories = function (callback) {
  SubCategory.find(callback);
};

route

router.get( "/subCategories",
  passport.authenticate("jwt", { session: false }),
  (req, res) => {
    SubCategory.getAllSubCategories((err, subCategory) => {
      if (err) {
        let message = "No category";
        return res.json({
          success: false,
          message,
        });
      } else {
        return res.send(subCategory);
      }
    });
  }
);

Как я могу отобразить mainCategoryName вместе с subCategoryName?

1 Ответ

0 голосов
/ 03 апреля 2020

Вам нужно заполнить main_category так:

router.get("/subCategories",
  passport.authenticate("jwt", { session: false }), (req, res) => {
    SubCategory.find()
      .populate("main_category")
      .exec((err, subCategory) => {
        if (err) {
          let message = "No category";
          return res.json({
            success: false,
            message
          });
        } else {
          return res.send(subCategory);
        }
      });
  }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...