Node.js 使用mongodb的NodeJS并发rest客户端

Node.js 使用mongodb的NodeJS并发rest客户端,node.js,rest,concurrency,Node.js,Rest,Concurrency,我将nodeJS作为一个可部署的AWS Lambda函数(或AWS批处理)进行研究。我的解决方案包括三个步骤: 1-从mongodb集合中读取元素 2-对于每个元素,调用第三方api 3-解析api响应并更新关联的db记录 我对nodejs很陌生,但从我的研究来看,stream()似乎是读取数据集最有效的方法。(我可以说数据集总是低于30k) 我的主要疑问在于调用第三方API以及如何充分利用NodeJ的并发/异步行为。我如何确保我没有浪费时间?假设第三方API每秒可以处理50个请求 这段代码只是

我将nodeJS作为一个可部署的AWS Lambda函数(或AWS批处理)进行研究。我的解决方案包括三个步骤:

1-从mongodb集合中读取元素

2-对于每个元素,调用第三方api

3-解析api响应并更新关联的db记录

我对nodejs很陌生,但从我的研究来看,stream()似乎是读取数据集最有效的方法。(我可以说数据集总是低于30k)

我的主要疑问在于调用第三方API以及如何充分利用NodeJ的并发/异步行为。我如何确保我没有浪费时间?假设第三方API每秒可以处理50个请求

这段代码只是我在本地玩的结果。从我的在线搜索中,我看到有人推荐axios或node fetch,但我希望从有经验的节点开发人员那里获得更多的信息

为了简单起见,我省略了流中的过滤部分

const db = await connectToDatabase();

var myCollectionStream = db.collection("mydataset").find().stream();
myCollectionStream.on("data", function (item) {
   
    //TODO: calling my third api here
});

myCollectionStream.on('close', () => {
    //TODO: send out some notification
});