Encontrei em alguma documentação:
Para aplicativos de longa duração, geralmente é prudente habilitar "keepAlive" com um número de milissegundos. Sem ele, após algum período de tempo, você pode começar a ver erros de "conexão fechada" sem motivo aparente.
Verifique se isso ajuda. Quando você se conecta ao mongoDB, você pode passar opções de soquete para ele. Eu sou do fundo do nó, usamos as seguintes opções para mantê-lo vivo.
server: {
socketOptions: {
keepAlive: 100,
connectTimeoutMS: 30000
}
}
Espero que isto ajude!!