Acabei de encontrar um problema semelhante no meu código. Para o meu, eu estava lidando com um objeto dentro do meu documento de usuário. Eu tive que executar um
user.markModified('object')
antes do user.save()
para garantir que as alterações fossem salvas no banco de dados. Minha teoria em execução é que o Mongoose não estava rastreando itens não configurados ou removidos do banco de dados automaticamente