removendo objeto da matriz aninhada de objetos mongodb

Eu tenho uma coleção com informações sobre voluntários e lista os voluntários como uma variedade de objetos. Posso exibir todos os turnos de cada voluntário, mas remover um do conjunto está se mostrando difícil para mim:

Dados de amostra:

"_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")
                            }
                    ]
            },

Os dados que tenho disponíveis para isso são: _id, where, shifts.timeslot, shifts.dateNeeded, voluntários.email

Alguém pode me ajudar? Vamos dizer que Mary Mack quer ser voluntária para o 8 - meio-dia sh, ift na tenda de mercadorias. Ela também pode ser listada em outros turnos, mas só queremos removê-la desse turno.

questionAnswers(2)

yourAnswerToTheQuestion