【发布时间】:2016-08-01 00:14:17
【问题描述】:
正如标题所示,我正在为我的 web 应用程序使用 Express。
目前,我的代码如下所示:
API 控制器
var mongoose = require('mongoose');
var Doc = mongoose.model('Document');
var sendJSONresponse = function(res, status, content) {
res.status(status);
res.json(content);
};
// "/api/documents"
module.exports.listAllDocuments = function(req, res) {
var stream = Doc.find().stream();
stream.on('data', function (chunk) {
res.write(JSON.stringify(chunk));
}).on('error', function (err) {
console.log('Error: ' + err);
}).on('end', function () {
res.end();
});
};
我希望使用aggregate(),而不是使用var stream = Doc.find().stream();。
像find(),aggregate() 应该是可读流,对吧?
然而,当我简单地将 find() 替换为 aggregate() 调用时,它似乎不起作用。
它显示类型错误:Object #<Aggregate> has no method 'stream'。什么是流式传输聚合 JSON 数据的替代方案?
【问题讨论】:
标签: mongoose streaming aggregate