MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Trasmetti i risultati di MongoDB in risposta Express

Quello che puoi fare è scrivere esplicitamente l'inizio dell'array res.write("[") prima di richiedere il database, inserisci un , , su ogni oggetto stringato json e alla fine dello stream scrivi la fine dell'array res.write("]") questo può funzionare. Ma non è consigliabile!

Un approccio migliore sarà quello di utilizzare un'implementazione JSON.stringify in streaming come json-stream-stringify

const JsonStreamStringify = require('json-stream-stringify');
app.get('/api/users', (req, res, next) => {
   const stream = db.collection('documents').find().stream();
   new JsonStreamStringify(stream).pipe(res);
);