#node.js #mongodb #express #mongoose
#node.js #mongodb #экспресс #мангуст
Вопрос:
У меня есть две модели Подключения и Клиент. На клиента ссылаются в Связи. Я хочу удалить клиента из документа клиента и удалить или обновить ссылку на клиента из подключения
модель клиента-это
const mongoose = require('mongoose') const Customer = mongoose.model('Customer', { cusName: { type: String, required: true, trim: true }, nic: { type: String, default: false }, cNumber: { type: String, default: true }, cBranch: { type: String, default: true }, cAddress: { type: String, default: true }, cEmail: { type: String, default: true }, }) module.exports = Customer
и модель подключения является
const mongoose = require('mongoose') const Customer = mongoose.model('Customer', { cusName: { type: String, required: true, trim: true }, nic: { type: String, default: false }, cNumber: { type: String, default: true }, cBranch: { type: String, default: true }, cAddress: { type: String, default: true }, cEmail: { type: String, default: true }, }) module.exports = Customer
на соединение снова ссылается платежная модель , в которой быстро реализована операция удаления следующим образом.
router.delete('/customer/:id', async (req, res) =gt; { try { const customer = await Customer.findByIdAndDelete(req.params.id) if (!customer) { return res.status(404).send() } res.send(customer) } catch (e) { res.status(500).send() } })
Ответ №1:
сначала добавьте поле идентификатора клиента в связи
const mongoose = require('mongoose') const Customer = mongoose.model('Customer', { ... cusId: { type: String, required: true, }, ... }) module.exports = Customer
а во-вторых, удалите и клиентов, у которых один и тот же CusId
router.delete('/customer/:id', async (req, res) =gt; { try { const customer = await Customer.findByIdAndDelete(req.params.id) const connection = await Connection.deleteMany({ cusId: req.params.id }) if (!customer) { return res.status(404).send() } res.send({ message: "User has been deleted" }) } catch (e) { res.status(500).send() } })
Комментарии:
1. это сработало 🙂 .спасибо