0
我想在MEAN堆棧中以csv格式導出數據收集。從nodejs中的mongodb導出爲CSV
這是我csv.server.controller功能:
function(err, source) {
var result = [];
//res.setHeader('content-type', 'text/csv');
res.setHeader('content-disposition', 'attachment; filename=user.csv');
csv()
.from(source,{delimiter:'|'})
.on('data', function(data){
result.push(data);
})
.on('end', function(){
res.send(result);
});
});
在angularjs控制器我打電話:
$scope.csv = function() {
$http.get('/download'). success(function(data, status, headers,config) {
var element = angular.element('<a/>');
element.attr({
href: 'data:text/csv;charset=utf-8,' + encodeURI(data),
target: '_blank',
download: 'users.csv'
})[0].click();
}).
error(function(data, status, headers, config) {
console.log(data);
});
};
});
其路由到:
app.route('/download').get(csv.download);
這整個結構對於約700行/集合正常工作。但更多的是,我得到了瀏覽器內存不足的錯誤。
任何人都可以請幫我理解這個問題。我在想我正在將源文件全部寫入csv格式。我怎樣才能避免內存異常?
所以我需要改變CSV版本?是不可能使用相同的版本 – dreamhigh
處理這個問題的簡單方法: 形式數組類似於: - [[a,1],[b,2],[c,3],[d, 4],[e,5]] 使用侵略 –