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();
});
}
Я не получаю ошибок и получаю сообщения об успехе.
Любые мысли о том, почему я получаю дубликаты?
Не стесняйтесь запрашивать любые другие соответствующие данные.