gpt4 book ai didi

javascript - MongoDB&JavaScript 堆内存不足

转载 作者:行者123 更新时间:2023-12-03 02:45:53 25 4
gpt4 key购买 nike

遥测表中的数据量巨大。因此,我收到“JavaScript 堆内存不足”错误。我该如何克服这个错误?

const aloUrl = `mongodb://${userName}:${pwd}@${host}:${port}/${dbName}`;
MongoClient.connect(aloUrl, function(err, client) {
if (err) {
return console.log('ERROR:: ', err);
}
console.log("INFO:: OK");
const db = client.db(dbName);

var arr = db.collection('endpoint').find({provider:"KMR"}).map(e => e._id).toArray((err, result) => {
if (err){

console.log("ERROR", err)
}

var son = db.collection('telemetry').find({endpoint: {$in: result}}).toArray().then(arr =>{

console.log("Let's start to party")
for (let i = 0; i < 10; i++) {
console.log("\t" + arr[i]._id)
}

}).catch(e => {

console.log(`ERROR::${e}`)
})

})
});

最佳答案

来自 mongodb 文档,

The toArray() method returns an array that contains all the documents from a cursor. The method iterates completely the cursor, loading all the documents into RAM and exhausting the cursor.

因此,您应该使用 nextforEach (或其他不会立即加载所有内容的方法,而不是调用 toArray RAM),逐个迭代元素。

例如,要一一打印遥测集合中的所有文档,您可以这样做,

db.collection('telemetry')
.find({
endpoint: {
$in: result
}
})
.forEach((document) => {
console.log(document)
});

关于javascript - MongoDB&JavaScript 堆内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48095401/

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