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();
}
});
});