求解:nodejs有没有限制对象的长度?(查询的数据达到上万条,callback语句就执行不过去)
发布于 6 年前 作者 huangzh123 4467 次浏览 最后一次编辑是 4 年前

是这样的,我在数据库执行查询语句后,将查询到的数据callback回去,由于查询的数据达到上万条(业务需求),callback语句就执行不过去,数据少的话是可以callback回去的; 代码:

client.query(sql,params,function(err,data){
            if(err) console.log(err);

            console.log('begin!!!')//只执行到这行begin
            callback(err,data);
        }
function callback(err,data){
       console.log('end!!!')//未执行
}
\n```
10 回复

是不是达到node的stack限制了,你查查max-stack-size相关的东西,希望能帮到你

没限制,由于V8的原因有内存限制

用new buffer(data)试试。不受V8内存限制。

@ravenwang 哦哦 谢谢啊

@MiguelValentine 嗯 我等下试试看

你要查这么多数据做什么?是不是在程序里循环做汇总,做统计之类操作?如果是这样可以利用 mongodb 的aggregation 来数据计算

MongoDB没用好,如果真是查询数据集合的业务的化支持楼上的: aggregation工具

顺便带上一篇我一直给别人看的一篇老文章:MongoDB核心贡献者:不是MongoDB不行,而是你不懂!

@yaochun 哦 学到了 谢谢

回到顶部