【发布时间】:2012-02-12 21:43:54
【问题描述】:
使用 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();
}
});
});
【问题讨论】:
标签: json node.js express mongoose