【发布时间】:2013-04-15 16:15:12
【问题描述】:
所以我有一个包含“引脚”的文件,我需要将其输入到 mongodb。它们包含在一个名为 pins.txt 的文件中,数据以换行符分隔:
A4DS24SD2
DF234SDF2
HFFGHFG45
JDRSDFG35
...
我需要导入大约 70,000 个图钉。
每个 pin 还有一个默认的used 状态false
所以,为了导入如此大量的引脚,我使用 nodejs/mongoose(我的应用程序内置)来完成这个
fs.readFile './data/pins-test.txt', 'utf8', (err,data)->
if err
console.log err
codes = data.split('\n')
codes.forEach (code)->
pin = new Pin()
pin.pinid = code
pin.save()
在测试几百个引脚时效果很好,但是当我尝试 70,000 个文件并给出错误时,我的机器内存不足:
FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory
那么,我的问题是,导入这么多数据的最佳方法是什么?我应该一次使用 async.js 来做这些吗?
【问题讨论】:
标签: node.js mongodb express mongoose database