CNode

求解:nodejs有没有限制对象的长度?(查询的数据达到上万条,callback语句就执行不过去)

Hhuangzh123发布于12 年前最后回复12 年前10 回复7171 浏览0 收藏

是这样的,我在数据库执行查询语句后,将查询到的数据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)

D
DoubleSpout#1·12 年前

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

Y
yaochun#2·12 年前

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

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

P
peiweippww#3·12 年前

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

R
ravenwang#4·12 年前

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

M
MiguelValentine#5·12 年前

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

H
huangzh123#6·12 年前
H
huangzh123#8·12 年前
引用 MiguelValentine用new buffer(data)试试。不受V8内存限制。

@MiguelValentine 嗯 我等下试试看

参与回复
登录后即可参与回复。登录