上下文:我正在构建一个读取RSS提要的小站点,并在后台更新/检查提要.我有一个数组来存储要显示的数据,另一个存储已经显示的记录的ID.
问题:在事情开始变慢或缓慢之前,Javascript中的数组可以容纳多少项.我不是在对数组进行排序,而是使用jQuery的inArray函数进行比较.
该网站将保持运行,并且更新并且不太可能经常重新启动/刷新浏览器.
如果我应该考虑从数组中清除一些记录,那么在限制之后删除一些记录的最佳方法是什么,比如100项.
我正在使用节点v0.12.4.当我运行以下代码时,node --max-old-space-size=8192 test.js它给了我错误FATAL ERROR: invalid array length Allocation failed - process out of memory
var a = new Array(200000000);
console.log(a.length);
Run Code Online (Sandbox Code Playgroud)
但是,如果我将大小更改为300000000,我不会收到任何错误.这里发生了什么?除了--max-old-space-size我需要改变之外还有一些命令行参数吗?
我已经查看了有关此问题的一些答案/问题,但尚未找到解决方案。
我有一个包含文档(简化)的集合,如下所示:
{
"id": 123
"stuff": "abc"
"array":[
{
"id2":456
"properties": [
{
"id3": 789
"important": true
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想检查for我的集合中的每个文档,for每个array对象array,for每个对象properties,如果有的important: true话。然后返回:
"id": 123
"id2": 456
"id3": 789
Run Code Online (Sandbox Code Playgroud)
我尝试过使用:
client.queryDocuments(self.collection._self, querySpec).toArray(function(err, results) {
if (err) {
callback(err);
} else {
callback(null, results[0]);
}
});
Run Code Online (Sandbox Code Playgroud)
但问题是数组有最大字符数限制。如果我的收藏有数百万份文档,这可能会超出。(Javascript增加最大数组大小)
或者,我误解了上面的问题吗?它是在谈论数组中的对象数量(其中每个对象可以具有无限的对象字符长度吗?)
因此,我正在寻找一个for loop类似的解决方案,其中返回每个文档,我进行分析,然后移动到下一个/并行执行它们。
任何见解将不胜感激。