Використовуючи nodejs і express, я хотів би повернути один або кілька об’єктів (масив) за допомогою JSON. У наведеному нижче коді я вивожу по одному об'єкту JSON за раз. Це працює, але це не зовсім те, що я хочу. Вироблена відповідь не є дійсною відповіддю JSON, оскільки у мене багато об’єктів.
Я добре знаю, що я міг би просто додати всі об'єкти до масиву і повернути цей конкретний масив у res.end. Однак я боюся, що це може стати важким для обробки та інтенсивної пам'яті.
Який правильний спосіб досягти цього за допомогою nodejs? Чи є query.each правильним методом для виклику?
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();
}
});
});