Pruebe la siguiente consulta:
collection.update(
{ _id: id },
{ $pull: { 'contact.phone': { number: '+1786543589455' } } }
);
Encontrará el documento con el _id dado y quita el teléfono +1786543589455 desde su contact.phone matriz.
Puedes usar $unset para anular el valor en la matriz (establecerlo en null ), pero no para eliminarlo por completo.