eliminar objetos de una matriz anidada de objetos mongodb

Tengo una colección con información de voluntarios, y enumera a los voluntarios como una serie de objetos. Puedo mostrar todos los turnos para cada voluntario, pero eliminar uno de la matriz me está resultando difícil:

Data de muestra:

"_id" : ObjectId("59180305c19dbaa4ecd9ee59"),
    "where" : "Merchandise tent",
    "description" : "Sell gear at the merchandise tent.",
    "shifts" : [
            {
                    "dateNeeded" : ISODate("2017-06-23T00:00:00Z"),
                    "timeslot" : "8:00 - NOON",
                    "needed" : 2,
                    "_id" : ObjectId("591807546a71c3a57d1a2105"),
                    "volunteers" : [
                            {
                                    "fullname" : "Mary Mack",
                                    "phone" : "1234567890",
                                    "email" : "[email protected]",
                                    "_id" : ObjectId("591ce45bc7e8a8c7b742474c")
                            }
                    ]
            },

Los datos que tengo disponibles para esto son: _id, where, shifts.timeslot, shifts.dateNeeded, voluntarios.email

¿Alguien me puede ayudar? Digamos que Mary Mack quiere dejar de ser voluntario para las 8 - Noon sh, ift en la tienda de mercancías. También puede aparecer en otros turnos, pero solo queremos eliminarla de este turno.

Respuestas a la pregunta(2)

Su respuesta a la pregunta