数据库操作git:(主)节点import_acparts_to_mongdb.js
<---最后几个GC-->
38787 ms:标记-扫描1384.9(1436.8)->1384.8(1436.8)MB,1181.9/0.0ms[分配失败][请求旧空间中的GC]。39964 ms:标记-扫描1384.8(1436.8)->1384.8(1436.8)MB,1177.7/0.0ms[分配失败][请求旧空间中的GC]。41199 ms:标记-扫描1384.8(1436.8)->1385.8(1420.8)MB,1234.0/0.0ms[最后手段气相色谱]。42429 ms:标记-扫描1385.8(1420.8)->1386.9(1420.8)MB,1229.8/0.0ms[最后手段气相色谱]。
const mongoose = require('mongoose'),
parse = require('csv-parse'),
path = require('path'),
fs = require('fs'),
ACpart = require('./models/acparts');
mongoose.Promise = require('bluebird');
mongoose.connect('mongodb://localhost/automdm_test');
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
// we're connected!
const p = path.join(__dirname, '/../', 'file-operations', 'csv-files');
//console.log(p);
const parser = parse({delimiter: ';'}, function(err, data){
//console.log(data);
const facility = data.map((item,i) => data[i][0]);
const item_number = data.map((item,i) => data[i][1]);
const part_name = data.map((item,i) => data[i][2]);
const part_description = data.map((item,i) => data[i][3]);
const net_weight = data.map((item,i) => data[i][4]);
const customs_statistical = data.map((item,i) => data[i][5]);
// Looping and storing the data into mongodb
for (let i = 1; i < data.length; i++) {
const newACpart = new ACpart();
newACpart.facility = facility[i]
newACpart.item_number = item_number[i];
newACpart.part_name = part_name[i];
newACpart.part_description = part_description[i];
newACpart.net_weight = net_weight[i];
newACpart.customs_statistical = customs_statistical[i];
newACpart.save()
.then(function() {
mongoose.disconnect();
})
.catch(function(err) {
console.log('There was an error', err);
});
}
});
fs.createReadStream(p + '/mrsparts.csv').pipe(parser);
});
如果内存大于堆,则无法将所有内容放入内存中。使用流式CSV解析器,例如:
然后分批而不是一次全部发送到数据库。
问题内容: 运行时出现以下错误: 严重错误:CALL_AND_RETRY_LAST分配失败-JavaScript堆内存不足 有没有办法全局增加node.js内存限制? 问题答案: 您可以使用以下命令启动NPM: 如所描述的在这里,默认为4000(4GB)。
安全上下文:000001af8a2cfb61 2:/*匿名*/[C:\project_folder\node_modules\source-map\lib\source-node.js:100][pc=0000016e99866533](this=00000346870554e1,mapping=000003c18fdc93c9)3:参数适配器框架:3->1 4:InnerArrayForEach
尝试使用https://github.com/endel/regene-memory-limit增加大小限制,但仍然无法构建。我需要更改node_modules中的任何地方吗? 10%构建模块6/8模块2活动...\bootstrap\dist\css\bootstrap 90%块资产处理<---最后几个GCs---> 174152 ms:标记-扫描1266.2(1435.6)->1265.2(1
我有一个Vue应用程序。当为该应用程序运行时,它失败了,错误为“致命错误:CALL_AND_RETRY_LAST Allocation failed-JavaScript heap out of memory” 不显示任何错误 我已经尝试使用--max_old_space_size,但它不起作用。