Estaba tratando de extraer varios objetos de una matriz de objetos y encontré este artículo
Usando MongoDB $pull para eliminar documentos dentro de una matriz
así que aquí está mi esquema y cómo lo hice, pero no funciona
{ "_id": "61fed9b89763c1c3b886b74f", "TeamName": "Hogwarts", "TeamImage": "Avatar ", "createdAt": "2022-02-05T20:10:32.885Z", "updatedAt": "2022-02-05T20:59:51.359Z", "__v": 0, "TeamMember": [ { "Name": "Ronne", "Email": "test4@gmail.com", "_id": "61fee1807df64451141f08df" }, { "Name": "Kai", "Email": "school021195@gmail.com", "_id": "61fee1e3fffd0f55ed92caee" }, { "Name": "Selina", "Email": "test@gmail.com", "_id": "61fee1e3fffd0f55ed92caef" }, { "Name": "Jessica Wu", "Email": "test1@gmail.com", "_id": "61fee1e3fffd0f55ed92caf0" }, { "Name": "Hormione", "Email": "test3@gmail.com", "_id": "61fee1807df64451141f08de" } ] },Borrar método
const team = await Team.findOneAndUpdate( {_id: TeamId}, { $pull: { TeamMember: [ {Name: "Ronne" },{ Name : "Hormione"} ] }, // $pull: { TeamMember: {$in:[ {Name: "Ronne" },{ Name : "Hormione"} ]}}, }, { new: true,multi: true} );También probé el método $in, pero ambos no funcionan, ¿me perdí algo? o ¿cuál es la forma correcta de hacer múltiples extracciones usando MongoDB?
Por cierto, estoy usando Mongoose para mi esquema, no sé si importa.
Intenta usar de esta manera
const team = await Team.findOneAndUpdate( {_id: TeamId}, { $pull: { TeamMember: {Name: {$in: ["Ronne","Hormione"] } } }, }, { new: true,multi: true} );