我使用nodejs解析带有模块"jsxlsx_async"的xlsx文件,值将存储在mongodb中.

    xlsx(file, function(err,wb){
        if (err){
            //handling err
        }
        //get data array 
        wb.getSheetDataByName('Sheet1', function(err,data){
            if (err){
                //handling err
            }
            //handling data
            console.log(data);
        });
    });

使用:Nodejs:v0.10.25,MongoDB:v2.2.6,

我的步骤:

这对较小的xlsx文件很好,但我想解析大于50MB的xlsx文件.

我的问题是在一个JS对象中存储整个xlsx值.

推荐答案

我以前也有过类似的问题.我需要从txt文件中读取一个巨大的JSON对象,但由于内存不足,进程被终止.关于这个问题,我的解决方案是将这个巨大的文件分成两个文件.

关于你的问题,我的建议是:

  1. try 增加v8发动机的内存限制.https://github.com/joyent/node/wiki/FAQ个示例(8192表示8GB):

    node --max-old-space-size=8192 server.js 
    
  2. 如果#1不起作用,try 用这个lib:https://github.com/ffalt/xlsx-extract逐行读取xlsx文件

  3. 如果#1和#2不起作用,试试https://github.com/extrabacon/xlrd-parser

Mongodb相关问答推荐

筛选出嵌套数组中的记录Mongo DB聚合

Golang mongodb聚合错误:管道阶段规范对象必须包含一个字段

如何在MongoDB中搜索有序子集的方法?

更快地识别嵌套对象数组中具有重复字段的文档

如何向所有文档添加一个字段,其中前 100 个文档的值为 1,接下来的 100 个文档的值为 2,依此类推?

.insertOne 不是函数

MongoDB:按标签获取文档

什么是 mongodb 中的admin数据库?

使用 mongoimport 将日期(ISODate)导入 MongoDB

是否有适用于 Linux 的 MongoDB GUI 桌面应用程序?

Mongoose 不创建新集合

MongoDB中超过2GB的数据库

mongo - Ruby连接问题

Mongoose / MongoDB 用户通知方案建议

了解 Mongoose 中的关系和外键

多次使用位置 `$` 运算符来更新嵌套数组

我在更新中对 $set 和 $inc 做错了什么

brew install mongodb 错误:Cowardly refusing to `sudo brew install' Mac OSX Lion

如何在 Ubuntu 10.04 中使用 --auth 选项重新启动 mongodb?

PyMongo 创建具有 2 个或更多字段的唯一索引