Node.js 当数据量非常大时,使用Node和mongo进行数据操作

Node.js 当数据量非常大时,使用Node和mongo进行数据操作,node.js,mongodb,async.js,bigdata,Node.js,Mongodb,Async.js,Bigdata,我目前正在使用MEAN stack。我在mongo dB中有大约99000条记录。每个记录由一个图像数组组成,该数组包含图像URL。此图像阵列的最大大小可以是10。因此,每个记录的最大imageURL数组长度为10 现在,我想获取每个记录,然后使用类似js将每个记录的图像相互比较。然后将它们的平均值保存在同一记录中 我使用了async模块并尝试实现它,但即使有5条记录,也会花费太多时间。还使用了async的forEachLimit,但没有帮助 那么基本上,我如何使用Node和mongo操作这些大

我目前正在使用MEAN stack。我在mongo dB中有大约99000条记录。每个记录由一个图像数组组成,该数组包含图像URL。此图像阵列的最大大小可以是10。因此,每个记录的最大imageURL数组长度为10

现在,我想获取每个记录,然后使用类似js将每个记录的图像相互比较。然后将它们的平均值保存在同一记录中

我使用了async模块并尝试实现它,但即使有5条记录,也会花费太多时间。还使用了async的forEachLimit,但没有帮助

那么基本上,我如何使用Node和mongo操作这些大量数据呢

有没有办法分批做?还有其他解决办法吗

loop1 ==> all records (response) {
    loop2 == > convert all images of one record to base64 (resemble can't use images from urls)==> saved in new array = TempArray1 <==loop ends
    loop3 == > TempArray1.length (TempArray1[i]) {
        loop4 ==> TempArray1.length (TempArray1[j]){
            count += resemble(TempArray1[i],TempArray1[j]);
        }
        avg[i] = count/(TempArray1.length -1);
    }
}
loop1==>所有记录(响应){
loop2==>将一条记录的所有图像转换为base64(不能使用URL中的图像)==>保存在新数组中=TempArray1 TempArray1.length(TempArray1[i]){
loop4==>TempArray1.length(TempArray1[j]){
计数+=相似(TempArray1[i],TempArray1[j]);
}
平均值[i]=计数/(TempArray1.length-1);
}
}

你能用一些例子详细说明比较零件和平均值吗?平均值是多少?您是否将一个文档的所有URL与另一个文档进行比较。@Sikorski对于1条记录,我们有一个包含URL的数组。现在我们必须将其转换为base64图像uri并保存在新数组中。我们使用2个循环来比较图像。例如,图像1将通过Simular js函数与所有图像进行比较,然后我们将图像1的所有比较值与所有其他图像进行比较。然后从所有这些值中找到平均值,这将是该特定图像的最终比较值。这必须适用于一条记录的所有图像URI。这必须在所有记录上循环。@Sikorski如果仍然混淆,请告诉我。由于长度原因,很难在注释中粘贴代码