使用mongodb java驱动程序时queryPlanner中缺少字段queryHash和planCacheKey
在本地开发期间,我尝试使用explain分析mongodb查询。我使用以下代码片段来提取解释输出 使用MongoDB Vversion 4.2和mongo java驱动程序版本3.12.2 这很好,在explainResult的queryPlanner字段中,我得到以下输出使用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
{
"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" : []
}