使用nodejs和express,我想使用JSON返回一个或多个对象(数组).在下面的代码中,我一次输出一个JSON对象.这很管用,但这不是我想要的.生成的响应不是有效的JSON响应,因为我有很多对象.
我很清楚,我可以简单地将所有对象添加到一个数组中,并以res.end返回该特定array.然而,我担心这可能会成为沉重的过程和内存密集型.
用nodejs实现这一点的正确方法是什么?这就是疑问.每种方法都有正确的调用方法吗?
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();
}
});
});