gpt4 book ai didi

javascript - Mongoose 错误 : JavaScript heap out of memory

转载 作者:行者123 更新时间:2023-11-30 19:41:03 25 4
gpt4 key购买 nike

我尝试通过我的用户获取一些统计数据。这是我尝试这样做的方法:

function(cb) { // Get users count + blocked + Abos
console.log('---- launching count ----');
User.find({pageId: pageId}).exec(function(error, _users) {
if (error) return cb(error);
req._locals.usersCount = _users.length;
console.log('---- userCount:', _users.length, ' ----' );
return cb(_users.map((_user) => {
if (_user.getVariable('tip-subscription-optin') !== null)
req._locals.tipsSubscriptions++;
if (_user.getVariable('tip-mercredi-subscription-optin') !== null)
req._locals.greenSubscriptions++;
}));
});
},

但这行不通。这是错误:

---- launching count ----

<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

如您所见,我的第一个 console.log 正在运行,但第二个没有。所以我很确定 mongoose.find 请求对我的服务器来说太大了。

最佳答案

虽然我自己仍在了解这一点,但您的查询内存已用完以处理数据,并导致接近堆溢出。从技术上讲,您在同一堆栈级别调用此 (users.length) 两次(我认为..)

 req._locals.usersCount = _users.length;
console.log('---- userCount:', _users.length, ' ----' );

所以你的堆(RAM 上的空闲内存)已经用完内存分配给你的堆栈(函数使用的是什么)..如果你删除变量它会工作吗req._locals.usersCount = _users.length;?这应该减少函数调用所需的内存分配

(另外,其他人,请指正我,我还在学习这方面,这对我来说很有趣:))

关于javascript - Mongoose 错误 : JavaScript heap out of memory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55402155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com