在MongoDB中获取集合的执行状态
要获取统计信息,请explain()
在MongoDB中使用。让我们创建一个包含文档的集合-
> db.demo157.insertOne({"Status":"Active"}); { "acknowledged" : true, "insertedId" : ObjectId("5e354fdffdf09dd6d08539fc") } > db.demo157.insertOne({"Status":"InActive"}); { "acknowledged" : true, "insertedId" : ObjectId("5e354fe3fdf09dd6d08539fd") }
在find()
方法的帮助下显示集合中的所有文档-
> db.demo157.find();
这将产生以下输出-
{ "_id" : ObjectId("5e354fdffdf09dd6d08539fc"), "Status" : "Active" } { "_id" : ObjectId("5e354fe3fdf09dd6d08539fd"), "Status" : "InActive" }
以下是如何explain()
在MongoDB中实现-
> db.demo157.find({Status: { $in: ['Active','InActive'] }}).explain("executionStats");
这将产生以下输出-
{ "queryPlanner" : { "plannerVersion" : 1, "namespace" : "test.demo157", "indexFilterSet" : false, "parsedQuery" : { "Status" : { "$in" : [ "Active", "InActive" ] } }, "winningPlan" : { "stage" : "COLLSCAN", "filter" : { "Status" : { "$in" : [ "Active", "InActive" ] } }, "direction" : "forward" }, "rejectedPlans" : [ ] }, "executionStats" : { "executionSuccess" : true, "nReturned" : 2, "executionTimeMillis" : 18, "totalKeysExamined" : 0, "totalDocsExamined" : 2, "executionStages" : { "stage" : "COLLSCAN", "filter" : { "Status" : { "$in" : [ "Active", "InActive" ] } }, "nReturned" : 2, "executionTimeMillisEstimate" : 0, "works" : 4, "advanced" : 2, "needTime" : 1, "needYield" : 0, "saveState" : 0, "restoreState" : 0, "isEOF" : 1, "invalidates" : 0, "direction" : "forward", "docsExamined" : 2 } }, "serverInfo" : { "host" : "DESKTOP-QN2RB3H", "port" : 27017, "version" : "4.0.5", "gitVersion" "3739429dd92b92d1b0ab120911a23d50bf03c412" }, "ok" : 1 }