Mongodb создает дубликаты для.deleteOne и.updateOne

При попытке удалить или отредактировать документы на Mongodb с помощью mongoose, дубликат документа создается до того, как исходный документ будет удален / отредактирован. Этот новый документ имеет новый _id.

Внутренний маршрут

 router.delete("/:id", (req, res, next) => {
  const id = req.params.id;
  Customer.deleteOne({ _id: id })
    .exec()
    .then(result => {
      res.status(200).json({
      message: "Deleted Successfuly"
     });
    })
    .catch(err => {
      console.log(err);
      res.status(500).json({
        error: err
      })
    });
});



router.put("/:id",(req, res, next) => {
  const cust = new Customer ({
    _id: req.params.id,
    name: req.body.name,
    address: req.body.address,
    city: req.body.city,
    payment: req.body.payment
  });
  Customer.updateOne({_id: req.params.id}, cust)
    .exec()
    .then(result => {
      console.log(result);
      res.status(200).json({message: "update success"})
    })
    .catch(err => {
      console.log(err);
      res.status(500).json({
        error: err
      })
    });
});

Снип из сервиса

 deleteCustomer(customerId: string) {
    this.http.delete('http://localhost:3000/api/customers/' + customerId )
      .subscribe((response) => {
        console.log(response);
        console.log(this.customers);
        this.getCustomers();
      });
  }

  editCustomer(id: string, editedCustomer: Customer) {
    this.http.put('http://localhost:3000/api/customers/' + id, editedCustomer)
    .subscribe((response) => {
      console.log(response);
      this.getCustomers();
    });
  }

Я не получаю ошибок и получаю сообщения об успехе.

Любые мысли о том, почему я получаю дубликаты?

Не стесняйтесь запрашивать любые другие соответствующие данные.

0 ответов

Другие вопросы по тегам