¡Hola, expertos de MongooseJS !
Soy nuevo en MongooseJS , este es mi segundo día para resolver este problema, pero no puedo encontrar una solución que funcione.
¡Gracias de antemano!
Mi método de eliminación
Cart.updateOne( { "content.merchantId": req.body.merchantId }, { $pull: { "content.items._id": req.body.productId } }, { new: true }, function (error, result) { if (error) { } else if (result) { } } );Esquema
const CartSchema = new Schema({ customerId: { type: String, required: true, }, content: { merchantName: { type: String, required: true, }, merchantId: { type: String, required: true, }, items: [], }, });JSON de muestra
[ { "content": { "merchantName": "SAMPLE_MERCHANT_NAME", "merchantId": "SAMPLE_MERCHANT_ID", "items": [ { "_id": "SAMPLE_ID", "title": "SAMPLE TITLE", } ] }, "_id": "618220e83966345ab5d451cd", "__v": 0 }, ]Mensaje de error
Cannot use the part (_id) of (content.items._id) to traverse the element ({items: [{ _id: "SAMPLE_ID", title: "SAMPLE TITLE"}] })deberías usar así
db.collection.update({ "content.merchantId": "SAMPLE_MERCHANT_ID" }, { $pull: { "content.items": { "_id": "SAMPLE_ID" } } }, { new:true }, )