const mongoose = require('mongoose');
const { Schema } = mongoose;
main().catch(err => console.log(err));
async function main() {
await mongoose.connect('mongodb://127.0.0.1:27017/relationDatabase');
}
const orderSchema = new Schema({
item: String,
price: Number
});
const Order = mongoose.model("Order", orderSchema);
const customerSchema = new Schema({
name: String,
orders: [
{
type: Schema.Types.ObjectId,
ref: "Order"
}
]
});
const Customer = mongoose.model("Customer", customerSchema);
customerSchema.pre('findOneAndDelete',async ()=>{
console.log("POST MIDDLEWARE");
});
customerSchema.post("findOneAndDelete", async ()=>{
console.log("POST MIDDLEWARE");
});
async function deleteCustomer() {
const deletedCustomer = await Customer.findByIdAndDelete("6644eb4bc7df9bee46d64981");
console.log(deletedCustomer);
}
let addCustomer=async ()=>{
let cust1=new Customer({
name:"john snow",
})
let order1=await Order.findOne({item:"burger"});
let order2=await Order.findOne({item:"pasta"});
cust1.orders.push(order1);
cust1.orders.push(order2);
let res=await cust1.save();
console.log(res);
}
deleteCustomer();
tring to call findOneAndDelete MDW but its not able to print anything as it is not called I tried directly using findOneAndDelete but same result not calling MDW findOneAndDelete,i am expecting console.log(“POST MIDDLEWARE”) to be printed .
New contributor
Shreesha Rao is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.