Как вызвать запрос на получение и получить из него значение для использования внутри запроса на размещение в nodejs? - PullRequest
0 голосов
/ 27 мая 2020

Я работаю над прототипом приложения для интернет-магазина прямо сейчас с некоторыми базовыми c функциями. У меня есть коллекция продуктов, хранящаяся в mongoDB, у каждого продукта есть поле количества внутри. Когда пользователь делает заказ, я хочу позвонить в API, чтобы количество продукта обновлялось в зависимости от количества продуктов в заказе. Итак, что, как я полагаю, мне нужно, это запрос на получение, который получает текущее количество, и запрос на размещение, который берет значение из получения, вычитает количество заказа и обновляет текущее количество продукта до нового значения. В моем файле контроллера продукта у меня есть:

exports.updateProductQuantity = (req, res) => {
var tempQuantity =  this.getQuantity;
  const { _id , quantity} = req.body;
  console.log(req.body);
  Product.findByIdAndUpdate({ _id }, {"Quantity": quantity}, (err, product) => {
    if (err || !product) {
      return res.status(400).json({
        error: "Error updating the product",
      });
    }
    return res.json({ product,  message: "Product updated" });
  });
};



exports.getQuantity = (req, res) => {
  const { _id , quantity} = req.body;
  console.log("body of get quantity" , req.body);
  Product.findOne({ _id }, (err, product) => {

     if (err || !product) {
       return res.status(400).json({
         error: "Error getting the product quantity.",
       });
     }
     var quantity = product.Quantity;
     return quantity;


   });
};
// router
router.put("/products/updateQuantity", updateProductQuantity);

Итак, в updateProductQuantity мне нужно каким-то образом вызвать метод get, назначить переменную значению, возвращаемому методом get, а затем использовать эту переменную для калибровки c новое количество. Проблема в том, что я не могу найти способ правильно вызвать метод get, чтобы получить текущее значение количества. tempQuantity либо выдает ошибку, либо не определено. Я пробовал поискать в Google, но не нашел упоминаний об использовании значения из запроса на получение в запросе на размещение или даже в почтовом запросе.

...