我只想问一个问题 可以说我有一个ID数组,即1至10000
New-AzStorageBlobSASToken
现在我想获取所有数据,这些数据是快速的,性能更好的还是更可取的呢?
[1, 2, 3, 4....... 10000]
或
await Promise.all(
usersIds.map(async userId => dbCollection.users.findById(userId))
);
答案 0 :(得分:1)
通常来说,您将要使用$in
而不是Promise.all
-它减少了您要做的网络往返次数,不会完全饱和您的连接池(如果使用连接池),最终在mongo中的工作量大致相同。
假设您实际上有userIds
个1..10000
,那么使用$gte
和$lte
的速度会更快,因为您将获得更好的查询计划(mongo查询规划师不够聪明,无法独自执行此操作。