使用mongodb java驱动程序时queryPlanner中缺少字段queryHash和planCacheKey

使用mongodb java驱动程序时queryPlanner中缺少字段queryHash和planCacheKey,mongodb,mongo-java-driver,mongo-java,Mongodb,Mongo Java Driver,Mongo Java,在本地开发期间,我尝试使用explain分析mongodb查询。我使用以下代码片段来提取解释输出 使用MongoDB Vversion 4.2和mongo java驱动程序版本3.12.2 这很好,在explainResult的queryPlanner字段中,我得到以下输出 { "plannerVersion": 1, "namespace": "mydb.myCollection", "indexFilterSe

在本地开发期间,我尝试使用explain分析mongodb查询。我使用以下代码片段来提取解释输出

使用MongoDB Vversion 4.2和mongo java驱动程序版本3.12.2

这很好,在explainResult的queryPlanner字段中,我得到以下输出

{
  "plannerVersion": 1,
  "namespace": "mydb.myCollection",
  "indexFilterSet": false,
  "parsedQuery": { ... },
  "winningPlan": { ... },
  "rejectedPlans": [
    
  ]
}

但是当我在mongo shell上运行相同的查询时
db.getCollection('myCollection').find({…query}).explain()
I get

{
    "plannerVersion" : 1,
    "namespace" : "mydb.myCollection",
    "indexFilterSet" : false,
    "parsedQuery" : { ... },
    "queryHash" : "B6F93250",
    "planCacheKey" : "5BE08F08",
    "winningPlan" : { ... },
    "rejectedPlans" : []
}

我还得到了
queryHash
planCacheKey
。如何使用java驱动程序获取这些命令?

检查默认情况下每个命令使用的详细信息,并尝试指定其他详细信息。
{
    "plannerVersion" : 1,
    "namespace" : "mydb.myCollection",
    "indexFilterSet" : false,
    "parsedQuery" : { ... },
    "queryHash" : "B6F93250",
    "planCacheKey" : "5BE08F08",
    "winningPlan" : { ... },
    "rejectedPlans" : []
}