草庐IT

eachAsync

全部标签

javascript - 遍历 MongoDB 游标很慢

我需要迭代包含约200万个文档的完整MongoDb集合。因此,我正在使用游标功能和eachAsync函数。但是我注意到它非常慢(需要40多分钟)。我尝试了不同的batchSizes,最大为5000(这对MongoDB来说只是400个查询)。该应用程序不会占用太多CPU(0.2%-1%),也不会占用太多RAM或IOP。所以显然我的代码可以优化以加速这个过程。代码:constplayerProfileCursor=PlayerProfile.find({},{tag:1}).cursor({batchSize:5000})constp2=newPromise>((resolve,rejec