当我使用find()。cursor()时,猫鼬会占用大量内存

时间:2019-03-04 12:26:17

标签: mongodb mongoose

我正在使用Node.js和Mongoose从mongodb(版本3.2)中查询数据:

let cursor = cbo.find({ 
    InsertTime: { 
        $gte: data.ValidTimeStart, 
        $lte: data.ValidTimeEnd 
    }
}).lean().cursor({batchSize:1000});

cursor.on('data', (chunk) => console.log(chunk));
cursor.on('end', () => console.log("end"));

结果是正确的,但是内存将继续增加,直到返回所有结果,并在一段时间后释放大量内存。通常,我大约有100万个项目,它需要近500 MB的内存。

是否有可能使用返回流的游标,以便在每次发送数据后释放一些内存。

如何有效使用内存?

0 个答案:

没有答案