java - 带有 $in 运算符的 mongodb find() 是顺序的还是并行的?

标签 java mongodb concurrency

db.mycollection.find(
  {
    _id:
       {
          $in: [ "0001", "0002" ]
       } 
  }
);

执行上述查询时会发生什么?

  1. 单线程依次搜索包含 _id 0001 和 0002 的文档。
  2. 两个线程并行启动,每个 _id 一个线程。

我担心的是,如果它已经并发,那么我应该在 java 代码中的每个文档上使用 Executors 进行并发 find() 以便快速获取吗?

最佳答案

由于调用db.mycollection.find将阻塞,直到返回结果,因此您不应该关心find是否是并行的。使用多个线程(例如通过 Executors)的一个原因是当想要并行运行多个 find 时。

关于java - 带有 $in 运算符的 mongodb find() 是顺序的还是并行的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34916027/

相关文章:

java - 每列求和在这里不起作用

java - Jackson将json数组反序列化为一个类的单个属性

javascript - 为什么 MongoDb 游标可以像数组一样被索引?

mongodb - 不同/聚合查询 Mongodb 数组,修剪尾随空间

java - 如何将异步 HTTP 请求抽象为同步请求

multithreading - 在 Clojure 中同步多个读取器/单个写入器的线程

java - 使用JAVA无密码连接SYSDBA

mongodb - 更新 mongodb 依赖后出现警告

java - 返回值的Java并发方法调用

java - Android:使用 Stripe API 创建新的客户记录