У меня есть две модели Products
и Purchases
, Закупки ссылаются на Товар.
Теперь я хочу создать функцию удаления delete Products
и все ссылки на нее Purchases
.
модель product.js
var productSchema = new Schema({
name: String,
id_num: String,
start_inv: Number,
date_added: { type: Date, default: Date.now },
purchases: [{ type: Schema.Types.ObjectId, ref: 'Purchases' }],
});
модель purchase.js
var purchaseSchema = new Schema({
received: Number,
purchases_date: { type: Date, default: Date.now },
});
удалить маршруты
router.delete('/', (req, res) => {
Product.findByIdAndRemove(req.params.id, (err, product) => { // product remove working
Purchases.deleteMany({ _id: { $in: product.purchases } }, function (err, response) { // working but not deleting Purchases
const data = {
message: "Product successfully deleted",
id: product._id
};
res.status(200).send(data);
});
});
})
ДАННЫЕ
[
{
"purchases": [
"5dbbb5b5b5ae3d34a82f649c"
],
"_id": "5dbbb599b5ae3d34a82f649b",
"name": "z1",
"id_num": "z1",
"start_inv": 100,
"date_added": "2019-11-01T04:33:29.952Z",
"__v": 1
}
]
Это работает после выполнения, но удаляет только Product
, а не Purchases
, застрявший вэта проблема часами.