Cómo cargar datos MongoDB sin cargar HTML una y otra vez

El fragmento de código que ha proporcionado se denomina representación del lado del servidor, por lo que está bien para la primera representación (la primera vez que se carga la página), no puede esperar que el usuario vuelva a cargar la página cada vez que quiera ver los últimos datos.

La solución es sencilla, use AJAX . Después de que se realiza el renderizado inicial (servidor), escriba una API en el back-end que envíe los gData calculados . En el front-end, llame a esta API a intervalos regulares y actualice el gráfico en consecuencia .

Esta es la solución más fácil. También puede usar sockets para enviar datos regularmente al front-end .

TL; DR: escriba una API que calcule gData y llame a esta API a intervalos regulares desde el front-end y siga actualizando el gráfico.

Si tiene algún otro problema o no puede hacerlo, envíeme un mensaje.

EDITAR: para que sea más fácil para usted, he agregado algunos fragmentos

Así es como se ve su código de back-end, use este código en el back-end como API.

// API
app.get (‘/ refresh’, (solicitud, respuesta) => {
// Escribe tu consulta para obtener los datos
Gdata
.encontrar({})
.exec ((error, gData) => {
if (error ||! gData) {
// Manejar error aquí
response.status (500) .send (error || ‘Algo salió mal’);
} más {
response.status (200) .json (gData);
}
})
})

Ahora podemos consultar gData desde el front-end como este:

// archivo JS del navegador
datos var = nulo;

var xhr = new XMLHttpRequest ();
xhr.withCredentials = true;

xhr.addEventListener (“readystatechange”, function () {
if (this.readyState === 4) {
console.log (this.responseText);
// Este es tu gData, analízalo en JSON y puedes usarlo.
}
});

xhr.open (“GET”, “/ refresh”);
xhr.setRequestHeader (“control de caché”, “no-cache”);

xhr.send (datos);

¡Paz!