Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

329
Vistas
Cómo eliminar el esquema relacionado en mongodb usando el nodo js (mangoose)

Estoy tratando de eliminar mi segundo esquema que tiene referencia en el primer esquema

propietarioEsquema.js

 var ownerSchema = Schema({ ownerId : String, fname : String, lname : String, shopPlace : { type: Schema.Types.ObjectId, ref: 'Shop' } }); var Owner = mongoose.model('Owner', ownerSchema);

shopSchema.js

 var shopSchema = Schema({ _id : String, shopName : String, location : String, startDate : Date, endDate : Date }); var Shop = mongoose.model('Shop', shopSchema);

así que estoy tratando de eliminar mi segundo esquema pero solo elimina el primer esquema

 const Owner = require("../models/ownerSchema"); const Shop = require("../models/shopSchema"); const deleteOnwerById = async (req, res) => { const { id } = req.params; let deletedShop = await Shop.deleteOne({_id:shopPlace}); // I can't delete my shop data let deletedTask = await Owner.deleteOne({ ownerId: id }); } // I can delete owner but not shop detail };

pero no elimina mi esquema relacionado

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Primero, elimine su Propietario usando findByIdAndRemove o findOneAndDelete . Estos métodos le permiten especificar uno o varios campos para devolver desde los documentos eliminados pasándole un objeto de options opcional.

 let deletedOwner = await Owner.findByIdAndRemove(ownerId, {projection : "shopPlace"});

Luego use el lugar de la tienda del propietario para eliminar el lugar de la tienda correspondiente:

 await Shop.deleteOne({_id:deletedOwner.shopPlace});
about 4 years ago · Juan Pablo Isaza Denunciar

0

Primero debe obtener un _id de shopPlace de su propietario:

 const Owner = require("../models/ownerSchema"); const Shop = require("../models/shopSchema"); const deleteOnwerById = async (req, res) => { const { id } = req.params; const owner = await Owner.findOne({ ownerId: id }).populate('shopPlace'); let deletedShop = await Shop.deleteOne({ _id:owner.shopPlace._id }); let deletedTask = await Owner.deleteOne({ ownerId: id }); } };

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda