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

时间:2016-12-28 05:27:11

标签: node.js mongodb async.js bigdata

我目前正在使用MEAN堆栈。我在mongo dB中有大约99000条记录。每个记录都包含一个图像数组,其中包含图像网址。此图像数组的最大大小可以是10.因此每条记录最大可以具有imageURL数组长度= 10。

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

我使用了异步模块并试图实现这一点,但即使有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);
    }
}

0 个答案:

没有答案