Usando nodejs y express, me gustaría devolver uno o varios objetos (matriz) usando JSON. En el siguiente código, saco un objeto JSON a la vez. Funciona, pero esto no es exactamente lo que quiero. La respuesta producida no es una respuesta JSON válida ya que tengo muchos objetos.
Soy consciente de que simplemente podría agregar todos los objetos a una matriz y devolver esa matriz específica en res.end. Sin embargo, me temo que esto podría volverse pesado de procesar y requerir mucha memoria.
¿Cuál es la forma correcta de lograr esto con nodejs? ¿Es query.each el método correcto para llamar?
app.get('/users/:email/messages/unread', function(req, res, next) {
var query = MessageInfo
.find({ $and: [ { 'email': req.params.email }, { 'hasBeenRead': false } ] });
res.writeHead(200, { 'Content-Type': 'application/json' });
query.each(function(err, msg) {
if (msg) {
res.write(JSON.stringify({ msgId: msg.fileName }));
} else {
res.end();
}
});
});