Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-17469

2d nearSphere queries may scan entire collection

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 3.0.0-rc11
    • Fix Version/s: 3.0.2, 3.1.1
    • Component/s: Geo
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Completed:
    • Steps To Reproduce:
      Hide

      Start with a collection with a ~500k documents

      db.getCollection("some_collection:Place").count()
      583104

      2.6.5 nearSphere query with explain()

      > db.getCollection("some_collection:Place").find({location: { $nearSphere: [ 106.6331, 10.7395 ] }}).explain()
      {
      	"cursor" : "GeoSearchCursor",
      	"isMultiKey" : false,
      	"n" : 100,
      	"nscannedObjects" : 599,
      	"nscanned" : 3692,
      	"nscannedObjectsAllPlans" : 599,
      	"nscannedAllPlans" : 3692,
      	"scanAndOrder" : false,
      	"indexOnly" : false,
      	"nYields" : 0,
      	"nChunkSkips" : 0,
      	"millis" : 5,
      	"indexBounds" : {
      		
      	}

      Run same query with explain("executionStats") on 3.0.0-rc11

      db.getCollection("some_collection:Place").find({location: { $nearSphere: [ 106.6331, 10.7395 ] }}).explain("executionStats")
      {
      	"queryPlanner" : {
      		"plannerVersion" : 1,
      		"namespace" : "test.some_collection:Place",
      		"indexFilterSet" : false,
      		"parsedQuery" : {
      			"location" : {
      				"$nearSphere" : [
      					106.6331,
      					10.7395
      				]
      			}
      		},
      		"winningPlan" : {
      			"stage" : "GEO_NEAR_2D",
      			"keyPattern" : {
      				"location" : "2d"
      			},
      			"indexName" : "location_2d",
      			"inputStages" : [
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E09F97C000000000), BinData(128, E09F97FFFFFFFFFF)]",
      								"[BinData(128, E09F9C0000000000), BinData(128, E09F9FFFFFFFFFFF)]",
      								"[BinData(128, E09FB40000000000), BinData(128, E09FB7FFFFFFFFFF)]",
      								"[BinData(128, E09FBC0000000000), BinData(128, E09FBFFFFFFFFFFF)]",
      								"[BinData(128, E09FC00000000000), BinData(128, E09FCFFFFFFFFFFF)]",
      								"[BinData(128, E09FD28000000000), BinData(128, E09FD2BFFFFFFFFF)]",
      								"[BinData(128, E09FD2E000000000), BinData(128, E09FD2EFFFFFFFFF)]",
      								"[BinData(128, E09FD80000000000), BinData(128, E09FDBFFFFFFFFFF)]",
      								"[BinData(128, E09FDE8000000000), BinData(128, E09FDEBFFFFFFFFF)]",
      								"[BinData(128, E09FE00000000000), BinData(128, E09FEFFFFFFFFFFF)]",
      								"[BinData(128, E09FF00000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B5150000000000), BinData(128, E0B515FFFFFFFFFF)]",
      								"[BinData(128, E0B5400000000000), BinData(128, E0B543FFFFFFFFFF)]",
      								"[BinData(128, E0B5440000000000), BinData(128, E0B547FFFFFFFFFF)]",
      								"[BinData(128, E0B5500000000000), BinData(128, E0B550FFFFFFFFFF)]",
      								"[BinData(128, E0B5510000000000), BinData(128, E0B5513FFFFFFFFF)]"
      							]
      						}
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E09F3C0000000000), BinData(128, E09F3FFFFFFFFFFF)]",
      								"[BinData(128, E09F600000000000), BinData(128, E09F6FFFFFFFFFFF)]",
      								"[BinData(128, E09F780000000000), BinData(128, E09F7BFFFFFFFFFF)]",
      								"[BinData(128, E09F900000000000), BinData(128, E09F9FFFFFFFFFFF)]",
      								"[BinData(128, E09FA40000000000), BinData(128, E09FA7FFFFFFFFFF)]",
      								"[BinData(128, E09FB00000000000), BinData(128, E09FBFFFFFFFFFFF)]",
      								"[BinData(128, E09FC00000000000), BinData(128, E09FCFFFFFFFFFFF)]",
      								"[BinData(128, E09FD00000000000), BinData(128, E09FDFFFFFFFFFFF)]",
      								"[BinData(128, E09FE00000000000), BinData(128, E09FEFFFFFFFFFFF)]",
      								"[BinData(128, E09FF00000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B5100000000000), BinData(128, E0B51FFFFFFFFFFF)]",
      								"[BinData(128, E0B5400000000000), BinData(128, E0B54FFFFFFFFFFF)]",
      								"[BinData(128, E0B5500000000000), BinData(128, E0B55FFFFFFFFFFF)]",
      								"[BinData(128, E0CA8A0000000000), BinData(128, E0CA8AFFFFFFFFFF)]",
      								"[BinData(128, E0CAA00000000000), BinData(128, E0CAA3FFFFFFFFFF)]",
      								"[BinData(128, E0CAA80000000000), BinData(128, E0CAABFFFFFFFFFF)]"
      							]
      						}
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E09F3B0000000000), BinData(128, E09F3BFFFFFFFFFF)]",
      								"[BinData(128, E09F3C0000000000), BinData(128, E09F3FFFFFFFFFFF)]",
      								"[BinData(128, E09F600000000000), BinData(128, E09F6FFFFFFFFFFF)]",
      								"[BinData(128, E09F700000000000), BinData(128, E09F7FFFFFFFFFFF)]",
      								"[BinData(128, E09F800000000000), BinData(128, E09F8FFFFFFFFFFF)]",
      								"[BinData(128, E09F900000000000), BinData(128, E09F9FFFFFFFFFFF)]",
      								"[BinData(128, E09FA00000000000), BinData(128, E09FAFFFFFFFFFFF)]",
      								"[BinData(128, E09FB00000000000), BinData(128, E09FBFFFFFFFFFFF)]",
      								"[BinData(128, E09FC00000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B5050000000000), BinData(128, E0B505FFFFFFFFFF)]",
      								"[BinData(128, E0B5100000000000), BinData(128, E0B51FFFFFFFFFFF)]",
      								"[BinData(128, E0B5354000000000), BinData(128, E0B5357FFFFFFFFF)]",
      								"[BinData(128, E0B5400000000000), BinData(128, E0B57FFFFFFFFFFF)]",
      								"[BinData(128, E0CA800000000000), BinData(128, E0CA8FFFFFFFFFFF)]",
      								"[BinData(128, E0CAA00000000000), BinData(128, E0CAAFFFFFFFFFFF)]",
      								"[BinData(128, E0E0000000000000), BinData(128, E0E003FFFFFFFFFF)]"
      							]
      						}
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E09F2C0000000000), BinData(128, E09F2FFFFFFFFFFF)]",
      								"[BinData(128, E09F300000000000), BinData(128, E09F3FFFFFFFFFFF)]",
      								"[BinData(128, E09F4B0000000000), BinData(128, E09F4BFFFFFFFFFF)]",
      								"[BinData(128, E09F4C0000000000), BinData(128, E09F4FFFFFFFFFFF)]",
      								"[BinData(128, E09F600000000000), BinData(128, E09F6FFFFFFFFFFF)]",
      								"[BinData(128, E09F700000000000), BinData(128, E09F7FFFFFFFFFFF)]",
      								"[BinData(128, E09F800000000000), BinData(128, E09FBFFFFFFFFFFF)]",
      								"[BinData(128, E09FC00000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B5000000000000), BinData(128, E0B53FFFFFFFFFFF)]",
      								"[BinData(128, E0B5400000000000), BinData(128, E0B57FFFFFFFFFFF)]",
      								"[BinData(128, E0CA22AA80000000), BinData(128, E0CA22AABFFFFFFF)]",
      								"[BinData(128, E0CA280000000000), BinData(128, E0CA2BFFFFFFFFFF)]",
      								"[BinData(128, E0CA800000000000), BinData(128, E0CA8FFFFFFFFFFF)]",
      								"[BinData(128, E0CAA00000000000), BinData(128, E0CAAFFFFFFFFFFF)]",
      								"[BinData(128, E0E0000000000000), BinData(128, E0E00FFFFFFFFFFF)]",
      								"[BinData(128, E0E0200000000000), BinData(128, E0E020FFFFFFFFFF)]"
      							]
      						}
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E09DBFFC00000000), BinData(128, E09DBFFFFFFFFFFF)]",
      								"[BinData(128, E09DE00000000000), BinData(128, E09DEFFFFFFFFFFF)]",
      								"[BinData(128, E09DFA8000000000), BinData(128, E09DFABFFFFFFFFF)]",
      								"[BinData(128, E09E700000000000), BinData(128, E09E7FFFFFFFFFFF)]",
      								"[BinData(128, E09EC00000000000), BinData(128, E09EFFFFFFFFFFFF)]",
      								"[BinData(128, E09F000000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B4500000000000), BinData(128, E0B45FFFFFFFFFFF)]",
      								"[BinData(128, E0B4700000000000), BinData(128, E0B47FFFFFFFFFFF)]",
      								"[BinData(128, E0B5000000000000), BinData(128, E0B53FFFFFFFFFFF)]",
      								"[BinData(128, E0B5400000000000), BinData(128, E0B57FFFFFFFFFFF)]",
      								"[BinData(128, E0B5800000000000), BinData(128, E0B5BFFFFFFFFFFF)]",
      								"[BinData(128, E0B5C00000000000), BinData(128, E0B5FFFFFFFFFFFF)]",
      								"[BinData(128, E0CA000000000000), BinData(128, E0CA3FFFFFFFFFFF)]",
      								"[BinData(128, E0CA800000000000), BinData(128, E0CABFFFFFFFFFFF)]",
      								"[BinData(128, E0E0000000000000), BinData(128, E0E03FFFFFFFFFFF)]",
      								"[BinData(128, E0E0800000000000), BinData(128, E0E08FFFFFFFFFFF)]"
      							]
      						}
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E09CC00000000000), BinData(128, E09CFFFFFFFFFFFF)]",
      								"[BinData(128, E09D000000000000), BinData(128, E09DFFFFFFFFFFFF)]",
      								"[BinData(128, E09E000000000000), BinData(128, E09EFFFFFFFFFFFF)]",
      								"[BinData(128, E09F000000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B4000000000000), BinData(128, E0B4FFFFFFFFFFFF)]",
      								"[BinData(128, E0B5000000000000), BinData(128, E0B5FFFFFFFFFFFF)]",
      								"[BinData(128, E0B6550000000000), BinData(128, E0B655FFFFFFFFFF)]",
      								"[BinData(128, E0B7000000000000), BinData(128, E0B70FFFFFFFFFFF)]",
      								"[BinData(128, E0B7100000000000), BinData(128, E0B71FFFFFFFFFFF)]",
      								"[BinData(128, E0B7400000000000), BinData(128, E0B74FFFFFFFFFFF)]",
      								"[BinData(128, E0B7500000000000), BinData(128, E0B75FFFFFFFFFFF)]",
      								"[BinData(128, E0C8800000000000), BinData(128, E0C8BFFFFFFFFFFF)]",
      								"[BinData(128, E0C8E00000000000), BinData(128, E0C8EFFFFFFFFFFF)]",
      								"[BinData(128, E0CA000000000000), BinData(128, E0CAFFFFFFFFFFFF)]",
      								"[BinData(128, E0E0000000000000), BinData(128, E0E0FFFFFFFFFFFF)]",
      								"[BinData(128, E0E2000000000000), BinData(128, E0E23FFFFFFFFFFF)]"
      							]
      						}
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E094000000000000), BinData(128, E097FFFFFFFFFFFF)]",
      								"[BinData(128, E099000000000000), BinData(128, E099FFFFFFFFFFFF)]",
      								"[BinData(128, E09B000000000000), BinData(128, E09BFFFFFFFFFFFF)]",
      								"[BinData(128, E09C000000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B1000000000000), BinData(128, E0B1FFFFFFFFFFFF)]",
      								"[BinData(128, E0B3000000000000), BinData(128, E0B3FFFFFFFFFFFF)]",
      								"[BinData(128, E0B4000000000000), BinData(128, E0B7FFFFFFFFFFFF)]",
      								"[BinData(128, E0BC400000000000), BinData(128, E0BC7FFFFFFFFFFF)]",
      								"[BinData(128, E0BD000000000000), BinData(128, E0BDFFFFFFFFFFFF)]",
      								"[BinData(128, E0C2000000000000), BinData(128, E0C2FFFFFFFFFFFF)]",
      								"[BinData(128, E0C3A00000000000), BinData(128, E0C3AFFFFFFFFFFF)]",
      								"[BinData(128, E0C8000000000000), BinData(128, E0CBFFFFFFFFFFFF)]",
      								"[BinData(128, E0CE000000000000), BinData(128, E0CEFFFFFFFFFFFF)]",
      								"[BinData(128, E0E0000000000000), BinData(128, E0E3FFFFFFFFFFFF)]",
      								"[BinData(128, E0E4000000000000), BinData(128, E0E40FFFFFFFFFFF)]",
      								"[BinData(128, E0E8000000000000), BinData(128, E0E8FFFFFFFFFFFF)]"
      							]
      						}
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E03B000000000000), BinData(128, E03BFFFFFFFFFFFF)]",
      								"[BinData(128, E03C000000000000), BinData(128, E03FFFFFFFFFFFFF)]",
      								"[BinData(128, E068000000000000), BinData(128, E06BFFFFFFFFFFFF)]",
      								"[BinData(128, E087000000000000), BinData(128, E087FFFFFFFFFFFF)]",
      								"[BinData(128, E08C000000000000), BinData(128, E08FFFFFFFFFFFFF)]",
      								"[BinData(128, E090000000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0A4000000000000), BinData(128, E0A7FFFFFFFFFFFF)]",
      								"[BinData(128, E0AD400000000000), BinData(128, E0AD7FFFFFFFFFFF)]",
      								"[BinData(128, E0B0000000000000), BinData(128, E0BFFFFFFFFFFFFF)]",
      								"[BinData(128, E0C0000000000000), BinData(128, E0CFFFFFFFFFFFFF)]",
      								"[BinData(128, E0D8000000000000), BinData(128, E0DBFFFFFFFFFFFF)]",
      								"[BinData(128, E0E0000000000000), BinData(128, E0EFFFFFFFFFFFFF)]",
      								"[BinData(128, E0F0000000000000), BinData(128, E0F0FFFFFFFFFFFF)]",
      								"[BinData(128, E211555540000000), BinData(128, E21155557FFFFFFF)]",
      								"[BinData(128, E214000000000000), BinData(128, E217FFFFFFFFFFFF)]",
      								"[BinData(128, E240000000000000), BinData(128, E243FFFFFFFFFFFF)]"
      							]
      						}
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, B57FC00000000000), BinData(128, B57FFFFFFFFFFFFF)]",
      								"[BinData(128, B5D0000000000000), BinData(128, B5DFFFFFFFFFFFFF)]",
      								"[BinData(128, B5F0000000000000), BinData(128, B5FFFFFFFFFFFFFF)]",
      								"[BinData(128, E000000000000000), BinData(128, E03FFFFFFFFFFFFF)]",
      								"[BinData(128, E040000000000000), BinData(128, E04FFFFFFFFFFFFF)]",
      								"[BinData(128, E060000000000000), BinData(128, E06FFFFFFFFFFFFF)]",
      								"[BinData(128, E070000000000000), BinData(128, E07FFFFFFFFFFFFF)]",
      								"[BinData(128, E080000000000000), BinData(128, E0BFFFFFFFFFFFFF)]",
      								"[BinData(128, E0C0000000000000), BinData(128, E0FFFFFFFFFFFFFF)]",
      								"[BinData(128, E180000000000000), BinData(128, E18FFFFFFFFFFFFF)]",
      								"[BinData(128, E1A0000000000000), BinData(128, E1AFFFFFFFFFFFFF)]",
      								"[BinData(128, E200000000000000), BinData(128, E20FFFFFFFFFFFFF)]",
      								"[BinData(128, E210000000000000), BinData(128, E21FFFFFFFFFFFFF)]",
      								"[BinData(128, E230000000000000), BinData(128, E233FFFFFFFFFFFF)]",
      								"[BinData(128, E234000000000000), BinData(128, E237FFFFFFFFFFFF)]",
      								"[BinData(128, E240000000000000), BinData(128, E27FFFFFFFFFFFFF)]"
      							]
      						}
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, 9FEC000000000000), BinData(128, 9FEFFFFFFFFFFFFF)]",
      								"[BinData(128, 9FF0000000000000), BinData(128, 9FFFFFFFFFFFFFFF)]",
      								"[BinData(128, B500000000000000), BinData(128, B5FFFFFFFFFFFFFF)]",
      								"[BinData(128, B710000000000000), BinData(128, B71FFFFFFFFFFFFF)]",
      								"[BinData(128, B740000000000000), BinData(128, B77FFFFFFFFFFFFF)]",
      								"[BinData(128, B7C5000000000000), BinData(128, B7C5FFFFFFFFFFFF)]",
      								"[BinData(128, B7D0000000000000), BinData(128, B7DFFFFFFFFFFFFF)]",
      								"[BinData(128, CA80000000000000), BinData(128, CABFFFFFFFFFFFFF)]",
      								"[BinData(128, CAC0000000000000), BinData(128, CAFFFFFFFFFFFFFF)]",
      								"[BinData(128, CB80000000000000), BinData(128, CBBFFFFFFFFFFFFF)]",
      								"[BinData(128, E000000000000000), BinData(128, E0FFFFFFFFFFFFFF)]",
      								"[BinData(128, E100000000000000), BinData(128, E1FFFFFFFFFFFFFF)]",
      								"[BinData(128, E200000000000000), BinData(128, E2FFFFFFFFFFFFFF)]",
      								"[BinData(128, E300000000000000), BinData(128, E33FFFFFFFFFFFFF)]",
      								"[BinData(128, E340000000000000), BinData(128, E343FFFFFFFFFFFF)]",
      								"[BinData(128, E380000000000000), BinData(128, E3BFFFFFFFFFFFFF)]"
      							]
      						}
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, 9D00000000000000), BinData(128, 9DFFFFFFFFFFFFFF)]",
      								"[BinData(128, 9E00000000000000), BinData(128, 9EFFFFFFFFFFFFFF)]",
      								"[BinData(128, 9F00000000000000), BinData(128, 9FFFFFFFFFFFFFFF)]",
      								"[BinData(128, B400000000000000), BinData(128, B7FFFFFFFFFFFFFF)]",
      								"[BinData(128, BC40000000000000), BinData(128, BC7FFFFFFFFFFFFF)]",
      								"[BinData(128, BD00000000000000), BinData(128, BDFFFFFFFFFFFFFF)]",
      								"[BinData(128, C800000000000000), BinData(128, CBFFFFFFFFFFFFFF)]",
      								"[BinData(128, CE00000000000000), BinData(128, CEFFFFFFFFFFFFFF)]",
      								"[BinData(128, E000000000000000), BinData(128, E3FFFFFFFFFFFFFF)]",
      								"[BinData(128, E400000000000000), BinData(128, E4FFFFFFFFFFFFFF)]",
      								"[BinData(128, E600000000000000), BinData(128, E6FFFFFFFFFFFFFF)]",
      								"[BinData(128, E800000000000000), BinData(128, E8FFFFFFFFFFFFFF)]",
      								"[BinData(128, E900000000000000), BinData(128, E9FFFFFFFFFFFFFF)]",
      								"[BinData(128, EA00000000000000), BinData(128, EA3FFFFFFFFFFFFF)]",
      								"[BinData(128, EA40000000000000), BinData(128, EA7FFFFFFFFFFFFF)]",
      								"[BinData(128, EC00000000000000), BinData(128, EC3FFFFFFFFFFFFF)]"
      							]
      						}
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, 3B00000000000000), BinData(128, 3BFFFFFFFFFFFFFF)]",
      								"[BinData(128, 3C00000000000000), BinData(128, 3FFFFFFFFFFFFFFF)]",
      								"[BinData(128, 6800000000000000), BinData(128, 6BFFFFFFFFFFFFFF)]",
      								"[BinData(128, 6C00000000000000), BinData(128, 6FFFFFFFFFFFFFFF)]",
      								"[BinData(128, 8400000000000000), BinData(128, 87FFFFFFFFFFFFFF)]",
      								"[BinData(128, 8C00000000000000), BinData(128, 8FFFFFFFFFFFFFFF)]",
      								"[BinData(128, 9000000000000000), BinData(128, 9FFFFFFFFFFFFFFF)]",
      								"[BinData(128, A400000000000000), BinData(128, A7FFFFFFFFFFFFFF)]",
      								"[BinData(128, AC00000000000000), BinData(128, AFFFFFFFFFFFFFFF)]",
      								"[BinData(128, B000000000000000), BinData(128, BFFFFFFFFFFFFFFF)]",
      								"[BinData(128, C000000000000000), BinData(128, CFFFFFFFFFFFFFFF)]",
      								"[BinData(128, D000000000000000), BinData(128, D3FFFFFFFFFFFFFF)]",
      								"[BinData(128, D800000000000000), BinData(128, DBFFFFFFFFFFFFFF)]",
      								"[BinData(128, DC00000000000000), BinData(128, DFFFFFFFFFFFFFFF)]",
      								"[BinData(128, E000000000000000), BinData(128, EFFFFFFFFFFFFFFF)]",
      								"[BinData(128, F000000000000000), BinData(128, FFFFFFFFFFFFFFFF)]"
      							]
      						}
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, 0000000000000000), BinData(128, FFFFFFFFFFFFFFFF)]"
      							]
      						}
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, 0000000000000000), BinData(128, FFFFFFFFFFFFFFFF)]"
      							]
      						}
      					}
      				}
      			]
      		},
      		"rejectedPlans" : [ ]
      	},
      	"executionStats" : {
      		"executionSuccess" : true,
      		"nReturned" : 583104,
      		"executionTimeMillis" : 28562,
      		"totalKeysExamined" : 8163456,
      		"totalDocsExamined" : 8163456,
      		"executionStages" : {
      			"stage" : "GEO_NEAR_2D",
      			"nReturned" : 583104,
      			"executionTimeMillisEstimate" : 27177,
      			"works" : 8746590,
      			"advanced" : 583104,
      			"needTime" : 8163485,
      			"needFetch" : 0,
      			"saveState" : 68334,
      			"restoreState" : 68334,
      			"isEOF" : 1,
      			"invalidates" : 0,
      			"keyPattern" : {
      				"location" : "2d"
      			},
      			"indexName" : "location_2d",
      			"searchIntervals" : [
      				{
      					"minDistance" : 0,
      					"maxDistance" : 20037.39210386106,
      					"maxInclusive" : false
      				},
      				{
      					"minDistance" : 20037.39210386106,
      					"maxDistance" : 30056.088155791593,
      					"maxInclusive" : false
      				},
      				{
      					"minDistance" : 30056.088155791593,
      					"maxDistance" : 35065.43618175686,
      					"maxInclusive" : false
      				},
      				{
      					"minDistance" : 35065.43618175686,
      					"maxDistance" : 45084.132233687385,
      					"maxInclusive" : false
      				},
      				{
      					"minDistance" : 45084.132233687385,
      					"maxDistance" : 65121.52433754844,
      					"maxInclusive" : false
      				},
      				{
      					"minDistance" : 65121.52433754844,
      					"maxDistance" : 105196.30854527056,
      					"maxInclusive" : false
      				},
      				{
      					"minDistance" : 105196.30854527056,
      					"maxDistance" : 185345.8769607148,
      					"maxInclusive" : false
      				},
      				{
      					"minDistance" : 185345.8769607148,
      					"maxDistance" : 345645.01379160327,
      					"maxInclusive" : false
      				},
      				{
      					"minDistance" : 345645.01379160327,
      					"maxDistance" : 666243.2874533802,
      					"maxInclusive" : false
      				},
      				{
      					"minDistance" : 666243.2874533802,
      					"maxDistance" : 1307439.8347769342,
      					"maxInclusive" : false
      				},
      				{
      					"minDistance" : 1307439.8347769342,
      					"maxDistance" : 2589832.929424042,
      					"maxInclusive" : false
      				},
      				{
      					"minDistance" : 2589832.929424042,
      					"maxDistance" : 5154619.118718257,
      					"maxInclusive" : false
      				},
      				{
      					"minDistance" : 5154619.118718257,
      					"maxDistance" : 10284191.49730669,
      					"maxInclusive" : false
      				},
      				{
      					"minDistance" : 10284191.49730669,
      					"maxDistance" : 20037392.10386106,
      					"maxInclusive" : true
      				}
      			],
      			"inputStages" : [
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 1090,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 68334,
      					"restoreState" : 68334,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 840,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 68334,
      						"restoreState" : 68334,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E09F97C000000000), BinData(128, E09F97FFFFFFFFFF)]",
      								"[BinData(128, E09F9C0000000000), BinData(128, E09F9FFFFFFFFFFF)]",
      								"[BinData(128, E09FB40000000000), BinData(128, E09FB7FFFFFFFFFF)]",
      								"[BinData(128, E09FBC0000000000), BinData(128, E09FBFFFFFFFFFFF)]",
      								"[BinData(128, E09FC00000000000), BinData(128, E09FCFFFFFFFFFFF)]",
      								"[BinData(128, E09FD28000000000), BinData(128, E09FD2BFFFFFFFFF)]",
      								"[BinData(128, E09FD2E000000000), BinData(128, E09FD2EFFFFFFFFF)]",
      								"[BinData(128, E09FD80000000000), BinData(128, E09FDBFFFFFFFFFF)]",
      								"[BinData(128, E09FDE8000000000), BinData(128, E09FDEBFFFFFFFFF)]",
      								"[BinData(128, E09FE00000000000), BinData(128, E09FEFFFFFFFFFFF)]",
      								"[BinData(128, E09FF00000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B5150000000000), BinData(128, E0B515FFFFFFFFFF)]",
      								"[BinData(128, E0B5400000000000), BinData(128, E0B543FFFFFFFFFF)]",
      								"[BinData(128, E0B5440000000000), BinData(128, E0B547FFFFFFFFFF)]",
      								"[BinData(128, E0B5500000000000), BinData(128, E0B550FFFFFFFFFF)]",
      								"[BinData(128, E0B5510000000000), BinData(128, E0B5513FFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 1110,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 59279,
      					"restoreState" : 59279,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 760,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 59279,
      						"restoreState" : 59279,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E09F3C0000000000), BinData(128, E09F3FFFFFFFFFFF)]",
      								"[BinData(128, E09F600000000000), BinData(128, E09F6FFFFFFFFFFF)]",
      								"[BinData(128, E09F780000000000), BinData(128, E09F7BFFFFFFFFFF)]",
      								"[BinData(128, E09F900000000000), BinData(128, E09F9FFFFFFFFFFF)]",
      								"[BinData(128, E09FA40000000000), BinData(128, E09FA7FFFFFFFFFF)]",
      								"[BinData(128, E09FB00000000000), BinData(128, E09FBFFFFFFFFFFF)]",
      								"[BinData(128, E09FC00000000000), BinData(128, E09FCFFFFFFFFFFF)]",
      								"[BinData(128, E09FD00000000000), BinData(128, E09FDFFFFFFFFFFF)]",
      								"[BinData(128, E09FE00000000000), BinData(128, E09FEFFFFFFFFFFF)]",
      								"[BinData(128, E09FF00000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B5100000000000), BinData(128, E0B51FFFFFFFFFFF)]",
      								"[BinData(128, E0B5400000000000), BinData(128, E0B54FFFFFFFFFFF)]",
      								"[BinData(128, E0B5500000000000), BinData(128, E0B55FFFFFFFFFFF)]",
      								"[BinData(128, E0CA8A0000000000), BinData(128, E0CA8AFFFFFFFFFF)]",
      								"[BinData(128, E0CAA00000000000), BinData(128, E0CAA3FFFFFFFFFF)]",
      								"[BinData(128, E0CAA80000000000), BinData(128, E0CAABFFFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 970,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 54667,
      					"restoreState" : 54667,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 710,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 54667,
      						"restoreState" : 54667,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E09F3B0000000000), BinData(128, E09F3BFFFFFFFFFF)]",
      								"[BinData(128, E09F3C0000000000), BinData(128, E09F3FFFFFFFFFFF)]",
      								"[BinData(128, E09F600000000000), BinData(128, E09F6FFFFFFFFFFF)]",
      								"[BinData(128, E09F700000000000), BinData(128, E09F7FFFFFFFFFFF)]",
      								"[BinData(128, E09F800000000000), BinData(128, E09F8FFFFFFFFFFF)]",
      								"[BinData(128, E09F900000000000), BinData(128, E09F9FFFFFFFFFFF)]",
      								"[BinData(128, E09FA00000000000), BinData(128, E09FAFFFFFFFFFFF)]",
      								"[BinData(128, E09FB00000000000), BinData(128, E09FBFFFFFFFFFFF)]",
      								"[BinData(128, E09FC00000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B5050000000000), BinData(128, E0B505FFFFFFFFFF)]",
      								"[BinData(128, E0B5100000000000), BinData(128, E0B51FFFFFFFFFFF)]",
      								"[BinData(128, E0B5354000000000), BinData(128, E0B5357FFFFFFFFF)]",
      								"[BinData(128, E0B5400000000000), BinData(128, E0B57FFFFFFFFFFF)]",
      								"[BinData(128, E0CA800000000000), BinData(128, E0CA8FFFFFFFFFFF)]",
      								"[BinData(128, E0CAA00000000000), BinData(128, E0CAAFFFFFFFFFFF)]",
      								"[BinData(128, E0E0000000000000), BinData(128, E0E003FFFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 904,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 50111,
      					"restoreState" : 50111,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 694,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 50111,
      						"restoreState" : 50111,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E09F2C0000000000), BinData(128, E09F2FFFFFFFFFFF)]",
      								"[BinData(128, E09F300000000000), BinData(128, E09F3FFFFFFFFFFF)]",
      								"[BinData(128, E09F4B0000000000), BinData(128, E09F4BFFFFFFFFFF)]",
      								"[BinData(128, E09F4C0000000000), BinData(128, E09F4FFFFFFFFFFF)]",
      								"[BinData(128, E09F600000000000), BinData(128, E09F6FFFFFFFFFFF)]",
      								"[BinData(128, E09F700000000000), BinData(128, E09F7FFFFFFFFFFF)]",
      								"[BinData(128, E09F800000000000), BinData(128, E09FBFFFFFFFFFFF)]",
      								"[BinData(128, E09FC00000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B5000000000000), BinData(128, E0B53FFFFFFFFFFF)]",
      								"[BinData(128, E0B5400000000000), BinData(128, E0B57FFFFFFFFFFF)]",
      								"[BinData(128, E0CA22AA80000000), BinData(128, E0CA22AABFFFFFFF)]",
      								"[BinData(128, E0CA280000000000), BinData(128, E0CA2BFFFFFFFFFF)]",
      								"[BinData(128, E0CA800000000000), BinData(128, E0CA8FFFFFFFFFFF)]",
      								"[BinData(128, E0CAA00000000000), BinData(128, E0CAAFFFFFFFFFFF)]",
      								"[BinData(128, E0E0000000000000), BinData(128, E0E00FFFFFFFFFFF)]",
      								"[BinData(128, E0E0200000000000), BinData(128, E0E020FFFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 900,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 45556,
      					"restoreState" : 45556,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 610,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 45556,
      						"restoreState" : 45556,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E09DBFFC00000000), BinData(128, E09DBFFFFFFFFFFF)]",
      								"[BinData(128, E09DE00000000000), BinData(128, E09DEFFFFFFFFFFF)]",
      								"[BinData(128, E09DFA8000000000), BinData(128, E09DFABFFFFFFFFF)]",
      								"[BinData(128, E09E700000000000), BinData(128, E09E7FFFFFFFFFFF)]",
      								"[BinData(128, E09EC00000000000), BinData(128, E09EFFFFFFFFFFFF)]",
      								"[BinData(128, E09F000000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B4500000000000), BinData(128, E0B45FFFFFFFFFFF)]",
      								"[BinData(128, E0B4700000000000), BinData(128, E0B47FFFFFFFFFFF)]",
      								"[BinData(128, E0B5000000000000), BinData(128, E0B53FFFFFFFFFFF)]",
      								"[BinData(128, E0B5400000000000), BinData(128, E0B57FFFFFFFFFFF)]",
      								"[BinData(128, E0B5800000000000), BinData(128, E0B5BFFFFFFFFFFF)]",
      								"[BinData(128, E0B5C00000000000), BinData(128, E0B5FFFFFFFFFFFF)]",
      								"[BinData(128, E0CA000000000000), BinData(128, E0CA3FFFFFFFFFFF)]",
      								"[BinData(128, E0CA800000000000), BinData(128, E0CABFFFFFFFFFFF)]",
      								"[BinData(128, E0E0000000000000), BinData(128, E0E03FFFFFFFFFFF)]",
      								"[BinData(128, E0E0800000000000), BinData(128, E0E08FFFFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 950,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 41000,
      					"restoreState" : 41000,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 740,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 41000,
      						"restoreState" : 41000,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E09CC00000000000), BinData(128, E09CFFFFFFFFFFFF)]",
      								"[BinData(128, E09D000000000000), BinData(128, E09DFFFFFFFFFFFF)]",
      								"[BinData(128, E09E000000000000), BinData(128, E09EFFFFFFFFFFFF)]",
      								"[BinData(128, E09F000000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B4000000000000), BinData(128, E0B4FFFFFFFFFFFF)]",
      								"[BinData(128, E0B5000000000000), BinData(128, E0B5FFFFFFFFFFFF)]",
      								"[BinData(128, E0B6550000000000), BinData(128, E0B655FFFFFFFFFF)]",
      								"[BinData(128, E0B7000000000000), BinData(128, E0B70FFFFFFFFFFF)]",
      								"[BinData(128, E0B7100000000000), BinData(128, E0B71FFFFFFFFFFF)]",
      								"[BinData(128, E0B7400000000000), BinData(128, E0B74FFFFFFFFFFF)]",
      								"[BinData(128, E0B7500000000000), BinData(128, E0B75FFFFFFFFFFF)]",
      								"[BinData(128, E0C8800000000000), BinData(128, E0C8BFFFFFFFFFFF)]",
      								"[BinData(128, E0C8E00000000000), BinData(128, E0C8EFFFFFFFFFFF)]",
      								"[BinData(128, E0CA000000000000), BinData(128, E0CAFFFFFFFFFFFF)]",
      								"[BinData(128, E0E0000000000000), BinData(128, E0E0FFFFFFFFFFFF)]",
      								"[BinData(128, E0E2000000000000), BinData(128, E0E23FFFFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 830,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 36445,
      					"restoreState" : 36445,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 570,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 36445,
      						"restoreState" : 36445,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E094000000000000), BinData(128, E097FFFFFFFFFFFF)]",
      								"[BinData(128, E099000000000000), BinData(128, E099FFFFFFFFFFFF)]",
      								"[BinData(128, E09B000000000000), BinData(128, E09BFFFFFFFFFFFF)]",
      								"[BinData(128, E09C000000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0B1000000000000), BinData(128, E0B1FFFFFFFFFFFF)]",
      								"[BinData(128, E0B3000000000000), BinData(128, E0B3FFFFFFFFFFFF)]",
      								"[BinData(128, E0B4000000000000), BinData(128, E0B7FFFFFFFFFFFF)]",
      								"[BinData(128, E0BC400000000000), BinData(128, E0BC7FFFFFFFFFFF)]",
      								"[BinData(128, E0BD000000000000), BinData(128, E0BDFFFFFFFFFFFF)]",
      								"[BinData(128, E0C2000000000000), BinData(128, E0C2FFFFFFFFFFFF)]",
      								"[BinData(128, E0C3A00000000000), BinData(128, E0C3AFFFFFFFFFFF)]",
      								"[BinData(128, E0C8000000000000), BinData(128, E0CBFFFFFFFFFFFF)]",
      								"[BinData(128, E0CE000000000000), BinData(128, E0CEFFFFFFFFFFFF)]",
      								"[BinData(128, E0E0000000000000), BinData(128, E0E3FFFFFFFFFFFF)]",
      								"[BinData(128, E0E4000000000000), BinData(128, E0E40FFFFFFFFFFF)]",
      								"[BinData(128, E0E8000000000000), BinData(128, E0E8FFFFFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 1060,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 31889,
      					"restoreState" : 31889,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 780,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 31889,
      						"restoreState" : 31889,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, E03B000000000000), BinData(128, E03BFFFFFFFFFFFF)]",
      								"[BinData(128, E03C000000000000), BinData(128, E03FFFFFFFFFFFFF)]",
      								"[BinData(128, E068000000000000), BinData(128, E06BFFFFFFFFFFFF)]",
      								"[BinData(128, E087000000000000), BinData(128, E087FFFFFFFFFFFF)]",
      								"[BinData(128, E08C000000000000), BinData(128, E08FFFFFFFFFFFFF)]",
      								"[BinData(128, E090000000000000), BinData(128, E09FFFFFFFFFFFFF)]",
      								"[BinData(128, E0A4000000000000), BinData(128, E0A7FFFFFFFFFFFF)]",
      								"[BinData(128, E0AD400000000000), BinData(128, E0AD7FFFFFFFFFFF)]",
      								"[BinData(128, E0B0000000000000), BinData(128, E0BFFFFFFFFFFFFF)]",
      								"[BinData(128, E0C0000000000000), BinData(128, E0CFFFFFFFFFFFFF)]",
      								"[BinData(128, E0D8000000000000), BinData(128, E0DBFFFFFFFFFFFF)]",
      								"[BinData(128, E0E0000000000000), BinData(128, E0EFFFFFFFFFFFFF)]",
      								"[BinData(128, E0F0000000000000), BinData(128, E0F0FFFFFFFFFFFF)]",
      								"[BinData(128, E211555540000000), BinData(128, E21155557FFFFFFF)]",
      								"[BinData(128, E214000000000000), BinData(128, E217FFFFFFFFFFFF)]",
      								"[BinData(128, E240000000000000), BinData(128, E243FFFFFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 926,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 27334,
      					"restoreState" : 27334,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 716,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 27334,
      						"restoreState" : 27334,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, B57FC00000000000), BinData(128, B57FFFFFFFFFFFFF)]",
      								"[BinData(128, B5D0000000000000), BinData(128, B5DFFFFFFFFFFFFF)]",
      								"[BinData(128, B5F0000000000000), BinData(128, B5FFFFFFFFFFFFFF)]",
      								"[BinData(128, E000000000000000), BinData(128, E03FFFFFFFFFFFFF)]",
      								"[BinData(128, E040000000000000), BinData(128, E04FFFFFFFFFFFFF)]",
      								"[BinData(128, E060000000000000), BinData(128, E06FFFFFFFFFFFFF)]",
      								"[BinData(128, E070000000000000), BinData(128, E07FFFFFFFFFFFFF)]",
      								"[BinData(128, E080000000000000), BinData(128, E0BFFFFFFFFFFFFF)]",
      								"[BinData(128, E0C0000000000000), BinData(128, E0FFFFFFFFFFFFFF)]",
      								"[BinData(128, E180000000000000), BinData(128, E18FFFFFFFFFFFFF)]",
      								"[BinData(128, E1A0000000000000), BinData(128, E1AFFFFFFFFFFFFF)]",
      								"[BinData(128, E200000000000000), BinData(128, E20FFFFFFFFFFFFF)]",
      								"[BinData(128, E210000000000000), BinData(128, E21FFFFFFFFFFFFF)]",
      								"[BinData(128, E230000000000000), BinData(128, E233FFFFFFFFFFFF)]",
      								"[BinData(128, E234000000000000), BinData(128, E237FFFFFFFFFFFF)]",
      								"[BinData(128, E240000000000000), BinData(128, E27FFFFFFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 840,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 22778,
      					"restoreState" : 22778,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 580,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 22778,
      						"restoreState" : 22778,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, 9FEC000000000000), BinData(128, 9FEFFFFFFFFFFFFF)]",
      								"[BinData(128, 9FF0000000000000), BinData(128, 9FFFFFFFFFFFFFFF)]",
      								"[BinData(128, B500000000000000), BinData(128, B5FFFFFFFFFFFFFF)]",
      								"[BinData(128, B710000000000000), BinData(128, B71FFFFFFFFFFFFF)]",
      								"[BinData(128, B740000000000000), BinData(128, B77FFFFFFFFFFFFF)]",
      								"[BinData(128, B7C5000000000000), BinData(128, B7C5FFFFFFFFFFFF)]",
      								"[BinData(128, B7D0000000000000), BinData(128, B7DFFFFFFFFFFFFF)]",
      								"[BinData(128, CA80000000000000), BinData(128, CABFFFFFFFFFFFFF)]",
      								"[BinData(128, CAC0000000000000), BinData(128, CAFFFFFFFFFFFFFF)]",
      								"[BinData(128, CB80000000000000), BinData(128, CBBFFFFFFFFFFFFF)]",
      								"[BinData(128, E000000000000000), BinData(128, E0FFFFFFFFFFFFFF)]",
      								"[BinData(128, E100000000000000), BinData(128, E1FFFFFFFFFFFFFF)]",
      								"[BinData(128, E200000000000000), BinData(128, E2FFFFFFFFFFFFFF)]",
      								"[BinData(128, E300000000000000), BinData(128, E33FFFFFFFFFFFFF)]",
      								"[BinData(128, E340000000000000), BinData(128, E343FFFFFFFFFFFF)]",
      								"[BinData(128, E380000000000000), BinData(128, E3BFFFFFFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 1184,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 18223,
      					"restoreState" : 18223,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 954,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 18223,
      						"restoreState" : 18223,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, 9D00000000000000), BinData(128, 9DFFFFFFFFFFFFFF)]",
      								"[BinData(128, 9E00000000000000), BinData(128, 9EFFFFFFFFFFFFFF)]",
      								"[BinData(128, 9F00000000000000), BinData(128, 9FFFFFFFFFFFFFFF)]",
      								"[BinData(128, B400000000000000), BinData(128, B7FFFFFFFFFFFFFF)]",
      								"[BinData(128, BC40000000000000), BinData(128, BC7FFFFFFFFFFFFF)]",
      								"[BinData(128, BD00000000000000), BinData(128, BDFFFFFFFFFFFFFF)]",
      								"[BinData(128, C800000000000000), BinData(128, CBFFFFFFFFFFFFFF)]",
      								"[BinData(128, CE00000000000000), BinData(128, CEFFFFFFFFFFFFFF)]",
      								"[BinData(128, E000000000000000), BinData(128, E3FFFFFFFFFFFFFF)]",
      								"[BinData(128, E400000000000000), BinData(128, E4FFFFFFFFFFFFFF)]",
      								"[BinData(128, E600000000000000), BinData(128, E6FFFFFFFFFFFFFF)]",
      								"[BinData(128, E800000000000000), BinData(128, E8FFFFFFFFFFFFFF)]",
      								"[BinData(128, E900000000000000), BinData(128, E9FFFFFFFFFFFFFF)]",
      								"[BinData(128, EA00000000000000), BinData(128, EA3FFFFFFFFFFFFF)]",
      								"[BinData(128, EA40000000000000), BinData(128, EA7FFFFFFFFFFFFF)]",
      								"[BinData(128, EC00000000000000), BinData(128, EC3FFFFFFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 1070,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 13667,
      					"restoreState" : 13667,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 740,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 13667,
      						"restoreState" : 13667,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, 3B00000000000000), BinData(128, 3BFFFFFFFFFFFFFF)]",
      								"[BinData(128, 3C00000000000000), BinData(128, 3FFFFFFFFFFFFFFF)]",
      								"[BinData(128, 6800000000000000), BinData(128, 6BFFFFFFFFFFFFFF)]",
      								"[BinData(128, 6C00000000000000), BinData(128, 6FFFFFFFFFFFFFFF)]",
      								"[BinData(128, 8400000000000000), BinData(128, 87FFFFFFFFFFFFFF)]",
      								"[BinData(128, 8C00000000000000), BinData(128, 8FFFFFFFFFFFFFFF)]",
      								"[BinData(128, 9000000000000000), BinData(128, 9FFFFFFFFFFFFFFF)]",
      								"[BinData(128, A400000000000000), BinData(128, A7FFFFFFFFFFFFFF)]",
      								"[BinData(128, AC00000000000000), BinData(128, AFFFFFFFFFFFFFFF)]",
      								"[BinData(128, B000000000000000), BinData(128, BFFFFFFFFFFFFFFF)]",
      								"[BinData(128, C000000000000000), BinData(128, CFFFFFFFFFFFFFFF)]",
      								"[BinData(128, D000000000000000), BinData(128, D3FFFFFFFFFFFFFF)]",
      								"[BinData(128, D800000000000000), BinData(128, DBFFFFFFFFFFFFFF)]",
      								"[BinData(128, DC00000000000000), BinData(128, DFFFFFFFFFFFFFFF)]",
      								"[BinData(128, E000000000000000), BinData(128, EFFFFFFFFFFFFFFF)]",
      								"[BinData(128, F000000000000000), BinData(128, FFFFFFFFFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 920,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 9111,
      					"restoreState" : 9111,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 630,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 9111,
      						"restoreState" : 9111,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, 0000000000000000), BinData(128, FFFFFFFFFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				},
      				{
      					"stage" : "FETCH",
      					"nReturned" : 583104,
      					"executionTimeMillisEstimate" : 870,
      					"works" : 583105,
      					"advanced" : 583104,
      					"needTime" : 0,
      					"needFetch" : 0,
      					"saveState" : 4556,
      					"restoreState" : 4556,
      					"isEOF" : 1,
      					"invalidates" : 0,
      					"docsExamined" : 583104,
      					"alreadyHasObj" : 0,
      					"inputStage" : {
      						"stage" : "IXSCAN",
      						"filter" : {
      							"TwoDKeyInRegionExpression" : true
      						},
      						"nReturned" : 583104,
      						"executionTimeMillisEstimate" : 620,
      						"works" : 583104,
      						"advanced" : 583104,
      						"needTime" : 0,
      						"needFetch" : 0,
      						"saveState" : 4556,
      						"restoreState" : 4556,
      						"isEOF" : 1,
      						"invalidates" : 0,
      						"keyPattern" : {
      							"location" : "2d"
      						},
      						"indexName" : "location_2d",
      						"isMultiKey" : false,
      						"direction" : "forward",
      						"indexBounds" : {
      							"location" : [
      								"[BinData(128, 0000000000000000), BinData(128, FFFFFFFFFFFFFFFF)]"
      							]
      						},
      						"keysExamined" : 583104,
      						"dupsTested" : 0,
      						"dupsDropped" : 0,
      						"seenInvalidated" : 0,
      						"matchTested" : 583104
      					}
      				}
      			]
      		}
      	},
      	"serverInfo" : {
      		"host" : "some_host",
      		"port" : 27017,
      		"version" : "3.0.0-rc11",
      		"gitVersion" : "709cafbbb86c994bc153df189ace58a9c2e4145b"
      	},
      	"ok" : 1
      }

      Show
      Start with a collection with a ~500k documents db.getCollection("some_collection:Place").count() 583104 2.6.5 nearSphere query with explain() > db.getCollection("some_collection:Place").find({location: { $nearSphere: [ 106.6331, 10.7395 ] }}).explain() { "cursor" : "GeoSearchCursor", "isMultiKey" : false, "n" : 100, "nscannedObjects" : 599, "nscanned" : 3692, "nscannedObjectsAllPlans" : 599, "nscannedAllPlans" : 3692, "scanAndOrder" : false, "indexOnly" : false, "nYields" : 0, "nChunkSkips" : 0, "millis" : 5, "indexBounds" : { } Run same query with explain("executionStats") on 3.0.0-rc11 db.getCollection("some_collection:Place").find({location: { $nearSphere: [ 106.6331, 10.7395 ] }}).explain("executionStats") { "queryPlanner" : { "plannerVersion" : 1, "namespace" : "test.some_collection:Place", "indexFilterSet" : false, "parsedQuery" : { "location" : { "$nearSphere" : [ 106.6331, 10.7395 ] } }, "winningPlan" : { "stage" : "GEO_NEAR_2D", "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "inputStages" : [ { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E09F97C000000000), BinData(128, E09F97FFFFFFFFFF)]", "[BinData(128, E09F9C0000000000), BinData(128, E09F9FFFFFFFFFFF)]", "[BinData(128, E09FB40000000000), BinData(128, E09FB7FFFFFFFFFF)]", "[BinData(128, E09FBC0000000000), BinData(128, E09FBFFFFFFFFFFF)]", "[BinData(128, E09FC00000000000), BinData(128, E09FCFFFFFFFFFFF)]", "[BinData(128, E09FD28000000000), BinData(128, E09FD2BFFFFFFFFF)]", "[BinData(128, E09FD2E000000000), BinData(128, E09FD2EFFFFFFFFF)]", "[BinData(128, E09FD80000000000), BinData(128, E09FDBFFFFFFFFFF)]", "[BinData(128, E09FDE8000000000), BinData(128, E09FDEBFFFFFFFFF)]", "[BinData(128, E09FE00000000000), BinData(128, E09FEFFFFFFFFFFF)]", "[BinData(128, E09FF00000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B5150000000000), BinData(128, E0B515FFFFFFFFFF)]", "[BinData(128, E0B5400000000000), BinData(128, E0B543FFFFFFFFFF)]", "[BinData(128, E0B5440000000000), BinData(128, E0B547FFFFFFFFFF)]", "[BinData(128, E0B5500000000000), BinData(128, E0B550FFFFFFFFFF)]", "[BinData(128, E0B5510000000000), BinData(128, E0B5513FFFFFFFFF)]" ] } } }, { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E09F3C0000000000), BinData(128, E09F3FFFFFFFFFFF)]", "[BinData(128, E09F600000000000), BinData(128, E09F6FFFFFFFFFFF)]", "[BinData(128, E09F780000000000), BinData(128, E09F7BFFFFFFFFFF)]", "[BinData(128, E09F900000000000), BinData(128, E09F9FFFFFFFFFFF)]", "[BinData(128, E09FA40000000000), BinData(128, E09FA7FFFFFFFFFF)]", "[BinData(128, E09FB00000000000), BinData(128, E09FBFFFFFFFFFFF)]", "[BinData(128, E09FC00000000000), BinData(128, E09FCFFFFFFFFFFF)]", "[BinData(128, E09FD00000000000), BinData(128, E09FDFFFFFFFFFFF)]", "[BinData(128, E09FE00000000000), BinData(128, E09FEFFFFFFFFFFF)]", "[BinData(128, E09FF00000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B5100000000000), BinData(128, E0B51FFFFFFFFFFF)]", "[BinData(128, E0B5400000000000), BinData(128, E0B54FFFFFFFFFFF)]", "[BinData(128, E0B5500000000000), BinData(128, E0B55FFFFFFFFFFF)]", "[BinData(128, E0CA8A0000000000), BinData(128, E0CA8AFFFFFFFFFF)]", "[BinData(128, E0CAA00000000000), BinData(128, E0CAA3FFFFFFFFFF)]", "[BinData(128, E0CAA80000000000), BinData(128, E0CAABFFFFFFFFFF)]" ] } } }, { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E09F3B0000000000), BinData(128, E09F3BFFFFFFFFFF)]", "[BinData(128, E09F3C0000000000), BinData(128, E09F3FFFFFFFFFFF)]", "[BinData(128, E09F600000000000), BinData(128, E09F6FFFFFFFFFFF)]", "[BinData(128, E09F700000000000), BinData(128, E09F7FFFFFFFFFFF)]", "[BinData(128, E09F800000000000), BinData(128, E09F8FFFFFFFFFFF)]", "[BinData(128, E09F900000000000), BinData(128, E09F9FFFFFFFFFFF)]", "[BinData(128, E09FA00000000000), BinData(128, E09FAFFFFFFFFFFF)]", "[BinData(128, E09FB00000000000), BinData(128, E09FBFFFFFFFFFFF)]", "[BinData(128, E09FC00000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B5050000000000), BinData(128, E0B505FFFFFFFFFF)]", "[BinData(128, E0B5100000000000), BinData(128, E0B51FFFFFFFFFFF)]", "[BinData(128, E0B5354000000000), BinData(128, E0B5357FFFFFFFFF)]", "[BinData(128, E0B5400000000000), BinData(128, E0B57FFFFFFFFFFF)]", "[BinData(128, E0CA800000000000), BinData(128, E0CA8FFFFFFFFFFF)]", "[BinData(128, E0CAA00000000000), BinData(128, E0CAAFFFFFFFFFFF)]", "[BinData(128, E0E0000000000000), BinData(128, E0E003FFFFFFFFFF)]" ] } } }, { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E09F2C0000000000), BinData(128, E09F2FFFFFFFFFFF)]", "[BinData(128, E09F300000000000), BinData(128, E09F3FFFFFFFFFFF)]", "[BinData(128, E09F4B0000000000), BinData(128, E09F4BFFFFFFFFFF)]", "[BinData(128, E09F4C0000000000), BinData(128, E09F4FFFFFFFFFFF)]", "[BinData(128, E09F600000000000), BinData(128, E09F6FFFFFFFFFFF)]", "[BinData(128, E09F700000000000), BinData(128, E09F7FFFFFFFFFFF)]", "[BinData(128, E09F800000000000), BinData(128, E09FBFFFFFFFFFFF)]", "[BinData(128, E09FC00000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B5000000000000), BinData(128, E0B53FFFFFFFFFFF)]", "[BinData(128, E0B5400000000000), BinData(128, E0B57FFFFFFFFFFF)]", "[BinData(128, E0CA22AA80000000), BinData(128, E0CA22AABFFFFFFF)]", "[BinData(128, E0CA280000000000), BinData(128, E0CA2BFFFFFFFFFF)]", "[BinData(128, E0CA800000000000), BinData(128, E0CA8FFFFFFFFFFF)]", "[BinData(128, E0CAA00000000000), BinData(128, E0CAAFFFFFFFFFFF)]", "[BinData(128, E0E0000000000000), BinData(128, E0E00FFFFFFFFFFF)]", "[BinData(128, E0E0200000000000), BinData(128, E0E020FFFFFFFFFF)]" ] } } }, { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E09DBFFC00000000), BinData(128, E09DBFFFFFFFFFFF)]", "[BinData(128, E09DE00000000000), BinData(128, E09DEFFFFFFFFFFF)]", "[BinData(128, E09DFA8000000000), BinData(128, E09DFABFFFFFFFFF)]", "[BinData(128, E09E700000000000), BinData(128, E09E7FFFFFFFFFFF)]", "[BinData(128, E09EC00000000000), BinData(128, E09EFFFFFFFFFFFF)]", "[BinData(128, E09F000000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B4500000000000), BinData(128, E0B45FFFFFFFFFFF)]", "[BinData(128, E0B4700000000000), BinData(128, E0B47FFFFFFFFFFF)]", "[BinData(128, E0B5000000000000), BinData(128, E0B53FFFFFFFFFFF)]", "[BinData(128, E0B5400000000000), BinData(128, E0B57FFFFFFFFFFF)]", "[BinData(128, E0B5800000000000), BinData(128, E0B5BFFFFFFFFFFF)]", "[BinData(128, E0B5C00000000000), BinData(128, E0B5FFFFFFFFFFFF)]", "[BinData(128, E0CA000000000000), BinData(128, E0CA3FFFFFFFFFFF)]", "[BinData(128, E0CA800000000000), BinData(128, E0CABFFFFFFFFFFF)]", "[BinData(128, E0E0000000000000), BinData(128, E0E03FFFFFFFFFFF)]", "[BinData(128, E0E0800000000000), BinData(128, E0E08FFFFFFFFFFF)]" ] } } }, { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E09CC00000000000), BinData(128, E09CFFFFFFFFFFFF)]", "[BinData(128, E09D000000000000), BinData(128, E09DFFFFFFFFFFFF)]", "[BinData(128, E09E000000000000), BinData(128, E09EFFFFFFFFFFFF)]", "[BinData(128, E09F000000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B4000000000000), BinData(128, E0B4FFFFFFFFFFFF)]", "[BinData(128, E0B5000000000000), BinData(128, E0B5FFFFFFFFFFFF)]", "[BinData(128, E0B6550000000000), BinData(128, E0B655FFFFFFFFFF)]", "[BinData(128, E0B7000000000000), BinData(128, E0B70FFFFFFFFFFF)]", "[BinData(128, E0B7100000000000), BinData(128, E0B71FFFFFFFFFFF)]", "[BinData(128, E0B7400000000000), BinData(128, E0B74FFFFFFFFFFF)]", "[BinData(128, E0B7500000000000), BinData(128, E0B75FFFFFFFFFFF)]", "[BinData(128, E0C8800000000000), BinData(128, E0C8BFFFFFFFFFFF)]", "[BinData(128, E0C8E00000000000), BinData(128, E0C8EFFFFFFFFFFF)]", "[BinData(128, E0CA000000000000), BinData(128, E0CAFFFFFFFFFFFF)]", "[BinData(128, E0E0000000000000), BinData(128, E0E0FFFFFFFFFFFF)]", "[BinData(128, E0E2000000000000), BinData(128, E0E23FFFFFFFFFFF)]" ] } } }, { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E094000000000000), BinData(128, E097FFFFFFFFFFFF)]", "[BinData(128, E099000000000000), BinData(128, E099FFFFFFFFFFFF)]", "[BinData(128, E09B000000000000), BinData(128, E09BFFFFFFFFFFFF)]", "[BinData(128, E09C000000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B1000000000000), BinData(128, E0B1FFFFFFFFFFFF)]", "[BinData(128, E0B3000000000000), BinData(128, E0B3FFFFFFFFFFFF)]", "[BinData(128, E0B4000000000000), BinData(128, E0B7FFFFFFFFFFFF)]", "[BinData(128, E0BC400000000000), BinData(128, E0BC7FFFFFFFFFFF)]", "[BinData(128, E0BD000000000000), BinData(128, E0BDFFFFFFFFFFFF)]", "[BinData(128, E0C2000000000000), BinData(128, E0C2FFFFFFFFFFFF)]", "[BinData(128, E0C3A00000000000), BinData(128, E0C3AFFFFFFFFFFF)]", "[BinData(128, E0C8000000000000), BinData(128, E0CBFFFFFFFFFFFF)]", "[BinData(128, E0CE000000000000), BinData(128, E0CEFFFFFFFFFFFF)]", "[BinData(128, E0E0000000000000), BinData(128, E0E3FFFFFFFFFFFF)]", "[BinData(128, E0E4000000000000), BinData(128, E0E40FFFFFFFFFFF)]", "[BinData(128, E0E8000000000000), BinData(128, E0E8FFFFFFFFFFFF)]" ] } } }, { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E03B000000000000), BinData(128, E03BFFFFFFFFFFFF)]", "[BinData(128, E03C000000000000), BinData(128, E03FFFFFFFFFFFFF)]", "[BinData(128, E068000000000000), BinData(128, E06BFFFFFFFFFFFF)]", "[BinData(128, E087000000000000), BinData(128, E087FFFFFFFFFFFF)]", "[BinData(128, E08C000000000000), BinData(128, E08FFFFFFFFFFFFF)]", "[BinData(128, E090000000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0A4000000000000), BinData(128, E0A7FFFFFFFFFFFF)]", "[BinData(128, E0AD400000000000), BinData(128, E0AD7FFFFFFFFFFF)]", "[BinData(128, E0B0000000000000), BinData(128, E0BFFFFFFFFFFFFF)]", "[BinData(128, E0C0000000000000), BinData(128, E0CFFFFFFFFFFFFF)]", "[BinData(128, E0D8000000000000), BinData(128, E0DBFFFFFFFFFFFF)]", "[BinData(128, E0E0000000000000), BinData(128, E0EFFFFFFFFFFFFF)]", "[BinData(128, E0F0000000000000), BinData(128, E0F0FFFFFFFFFFFF)]", "[BinData(128, E211555540000000), BinData(128, E21155557FFFFFFF)]", "[BinData(128, E214000000000000), BinData(128, E217FFFFFFFFFFFF)]", "[BinData(128, E240000000000000), BinData(128, E243FFFFFFFFFFFF)]" ] } } }, { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, B57FC00000000000), BinData(128, B57FFFFFFFFFFFFF)]", "[BinData(128, B5D0000000000000), BinData(128, B5DFFFFFFFFFFFFF)]", "[BinData(128, B5F0000000000000), BinData(128, B5FFFFFFFFFFFFFF)]", "[BinData(128, E000000000000000), BinData(128, E03FFFFFFFFFFFFF)]", "[BinData(128, E040000000000000), BinData(128, E04FFFFFFFFFFFFF)]", "[BinData(128, E060000000000000), BinData(128, E06FFFFFFFFFFFFF)]", "[BinData(128, E070000000000000), BinData(128, E07FFFFFFFFFFFFF)]", "[BinData(128, E080000000000000), BinData(128, E0BFFFFFFFFFFFFF)]", "[BinData(128, E0C0000000000000), BinData(128, E0FFFFFFFFFFFFFF)]", "[BinData(128, E180000000000000), BinData(128, E18FFFFFFFFFFFFF)]", "[BinData(128, E1A0000000000000), BinData(128, E1AFFFFFFFFFFFFF)]", "[BinData(128, E200000000000000), BinData(128, E20FFFFFFFFFFFFF)]", "[BinData(128, E210000000000000), BinData(128, E21FFFFFFFFFFFFF)]", "[BinData(128, E230000000000000), BinData(128, E233FFFFFFFFFFFF)]", "[BinData(128, E234000000000000), BinData(128, E237FFFFFFFFFFFF)]", "[BinData(128, E240000000000000), BinData(128, E27FFFFFFFFFFFFF)]" ] } } }, { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, 9FEC000000000000), BinData(128, 9FEFFFFFFFFFFFFF)]", "[BinData(128, 9FF0000000000000), BinData(128, 9FFFFFFFFFFFFFFF)]", "[BinData(128, B500000000000000), BinData(128, B5FFFFFFFFFFFFFF)]", "[BinData(128, B710000000000000), BinData(128, B71FFFFFFFFFFFFF)]", "[BinData(128, B740000000000000), BinData(128, B77FFFFFFFFFFFFF)]", "[BinData(128, B7C5000000000000), BinData(128, B7C5FFFFFFFFFFFF)]", "[BinData(128, B7D0000000000000), BinData(128, B7DFFFFFFFFFFFFF)]", "[BinData(128, CA80000000000000), BinData(128, CABFFFFFFFFFFFFF)]", "[BinData(128, CAC0000000000000), BinData(128, CAFFFFFFFFFFFFFF)]", "[BinData(128, CB80000000000000), BinData(128, CBBFFFFFFFFFFFFF)]", "[BinData(128, E000000000000000), BinData(128, E0FFFFFFFFFFFFFF)]", "[BinData(128, E100000000000000), BinData(128, E1FFFFFFFFFFFFFF)]", "[BinData(128, E200000000000000), BinData(128, E2FFFFFFFFFFFFFF)]", "[BinData(128, E300000000000000), BinData(128, E33FFFFFFFFFFFFF)]", "[BinData(128, E340000000000000), BinData(128, E343FFFFFFFFFFFF)]", "[BinData(128, E380000000000000), BinData(128, E3BFFFFFFFFFFFFF)]" ] } } }, { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, 9D00000000000000), BinData(128, 9DFFFFFFFFFFFFFF)]", "[BinData(128, 9E00000000000000), BinData(128, 9EFFFFFFFFFFFFFF)]", "[BinData(128, 9F00000000000000), BinData(128, 9FFFFFFFFFFFFFFF)]", "[BinData(128, B400000000000000), BinData(128, B7FFFFFFFFFFFFFF)]", "[BinData(128, BC40000000000000), BinData(128, BC7FFFFFFFFFFFFF)]", "[BinData(128, BD00000000000000), BinData(128, BDFFFFFFFFFFFFFF)]", "[BinData(128, C800000000000000), BinData(128, CBFFFFFFFFFFFFFF)]", "[BinData(128, CE00000000000000), BinData(128, CEFFFFFFFFFFFFFF)]", "[BinData(128, E000000000000000), BinData(128, E3FFFFFFFFFFFFFF)]", "[BinData(128, E400000000000000), BinData(128, E4FFFFFFFFFFFFFF)]", "[BinData(128, E600000000000000), BinData(128, E6FFFFFFFFFFFFFF)]", "[BinData(128, E800000000000000), BinData(128, E8FFFFFFFFFFFFFF)]", "[BinData(128, E900000000000000), BinData(128, E9FFFFFFFFFFFFFF)]", "[BinData(128, EA00000000000000), BinData(128, EA3FFFFFFFFFFFFF)]", "[BinData(128, EA40000000000000), BinData(128, EA7FFFFFFFFFFFFF)]", "[BinData(128, EC00000000000000), BinData(128, EC3FFFFFFFFFFFFF)]" ] } } }, { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, 3B00000000000000), BinData(128, 3BFFFFFFFFFFFFFF)]", "[BinData(128, 3C00000000000000), BinData(128, 3FFFFFFFFFFFFFFF)]", "[BinData(128, 6800000000000000), BinData(128, 6BFFFFFFFFFFFFFF)]", "[BinData(128, 6C00000000000000), BinData(128, 6FFFFFFFFFFFFFFF)]", "[BinData(128, 8400000000000000), BinData(128, 87FFFFFFFFFFFFFF)]", "[BinData(128, 8C00000000000000), BinData(128, 8FFFFFFFFFFFFFFF)]", "[BinData(128, 9000000000000000), BinData(128, 9FFFFFFFFFFFFFFF)]", "[BinData(128, A400000000000000), BinData(128, A7FFFFFFFFFFFFFF)]", "[BinData(128, AC00000000000000), BinData(128, AFFFFFFFFFFFFFFF)]", "[BinData(128, B000000000000000), BinData(128, BFFFFFFFFFFFFFFF)]", "[BinData(128, C000000000000000), BinData(128, CFFFFFFFFFFFFFFF)]", "[BinData(128, D000000000000000), BinData(128, D3FFFFFFFFFFFFFF)]", "[BinData(128, D800000000000000), BinData(128, DBFFFFFFFFFFFFFF)]", "[BinData(128, DC00000000000000), BinData(128, DFFFFFFFFFFFFFFF)]", "[BinData(128, E000000000000000), BinData(128, EFFFFFFFFFFFFFFF)]", "[BinData(128, F000000000000000), BinData(128, FFFFFFFFFFFFFFFF)]" ] } } }, { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, 0000000000000000), BinData(128, FFFFFFFFFFFFFFFF)]" ] } } }, { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, 0000000000000000), BinData(128, FFFFFFFFFFFFFFFF)]" ] } } } ] }, "rejectedPlans" : [ ] }, "executionStats" : { "executionSuccess" : true, "nReturned" : 583104, "executionTimeMillis" : 28562, "totalKeysExamined" : 8163456, "totalDocsExamined" : 8163456, "executionStages" : { "stage" : "GEO_NEAR_2D", "nReturned" : 583104, "executionTimeMillisEstimate" : 27177, "works" : 8746590, "advanced" : 583104, "needTime" : 8163485, "needFetch" : 0, "saveState" : 68334, "restoreState" : 68334, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "searchIntervals" : [ { "minDistance" : 0, "maxDistance" : 20037.39210386106, "maxInclusive" : false }, { "minDistance" : 20037.39210386106, "maxDistance" : 30056.088155791593, "maxInclusive" : false }, { "minDistance" : 30056.088155791593, "maxDistance" : 35065.43618175686, "maxInclusive" : false }, { "minDistance" : 35065.43618175686, "maxDistance" : 45084.132233687385, "maxInclusive" : false }, { "minDistance" : 45084.132233687385, "maxDistance" : 65121.52433754844, "maxInclusive" : false }, { "minDistance" : 65121.52433754844, "maxDistance" : 105196.30854527056, "maxInclusive" : false }, { "minDistance" : 105196.30854527056, "maxDistance" : 185345.8769607148, "maxInclusive" : false }, { "minDistance" : 185345.8769607148, "maxDistance" : 345645.01379160327, "maxInclusive" : false }, { "minDistance" : 345645.01379160327, "maxDistance" : 666243.2874533802, "maxInclusive" : false }, { "minDistance" : 666243.2874533802, "maxDistance" : 1307439.8347769342, "maxInclusive" : false }, { "minDistance" : 1307439.8347769342, "maxDistance" : 2589832.929424042, "maxInclusive" : false }, { "minDistance" : 2589832.929424042, "maxDistance" : 5154619.118718257, "maxInclusive" : false }, { "minDistance" : 5154619.118718257, "maxDistance" : 10284191.49730669, "maxInclusive" : false }, { "minDistance" : 10284191.49730669, "maxDistance" : 20037392.10386106, "maxInclusive" : true } ], "inputStages" : [ { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 1090, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 68334, "restoreState" : 68334, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 840, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 68334, "restoreState" : 68334, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E09F97C000000000), BinData(128, E09F97FFFFFFFFFF)]", "[BinData(128, E09F9C0000000000), BinData(128, E09F9FFFFFFFFFFF)]", "[BinData(128, E09FB40000000000), BinData(128, E09FB7FFFFFFFFFF)]", "[BinData(128, E09FBC0000000000), BinData(128, E09FBFFFFFFFFFFF)]", "[BinData(128, E09FC00000000000), BinData(128, E09FCFFFFFFFFFFF)]", "[BinData(128, E09FD28000000000), BinData(128, E09FD2BFFFFFFFFF)]", "[BinData(128, E09FD2E000000000), BinData(128, E09FD2EFFFFFFFFF)]", "[BinData(128, E09FD80000000000), BinData(128, E09FDBFFFFFFFFFF)]", "[BinData(128, E09FDE8000000000), BinData(128, E09FDEBFFFFFFFFF)]", "[BinData(128, E09FE00000000000), BinData(128, E09FEFFFFFFFFFFF)]", "[BinData(128, E09FF00000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B5150000000000), BinData(128, E0B515FFFFFFFFFF)]", "[BinData(128, E0B5400000000000), BinData(128, E0B543FFFFFFFFFF)]", "[BinData(128, E0B5440000000000), BinData(128, E0B547FFFFFFFFFF)]", "[BinData(128, E0B5500000000000), BinData(128, E0B550FFFFFFFFFF)]", "[BinData(128, E0B5510000000000), BinData(128, E0B5513FFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } }, { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 1110, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 59279, "restoreState" : 59279, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 760, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 59279, "restoreState" : 59279, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E09F3C0000000000), BinData(128, E09F3FFFFFFFFFFF)]", "[BinData(128, E09F600000000000), BinData(128, E09F6FFFFFFFFFFF)]", "[BinData(128, E09F780000000000), BinData(128, E09F7BFFFFFFFFFF)]", "[BinData(128, E09F900000000000), BinData(128, E09F9FFFFFFFFFFF)]", "[BinData(128, E09FA40000000000), BinData(128, E09FA7FFFFFFFFFF)]", "[BinData(128, E09FB00000000000), BinData(128, E09FBFFFFFFFFFFF)]", "[BinData(128, E09FC00000000000), BinData(128, E09FCFFFFFFFFFFF)]", "[BinData(128, E09FD00000000000), BinData(128, E09FDFFFFFFFFFFF)]", "[BinData(128, E09FE00000000000), BinData(128, E09FEFFFFFFFFFFF)]", "[BinData(128, E09FF00000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B5100000000000), BinData(128, E0B51FFFFFFFFFFF)]", "[BinData(128, E0B5400000000000), BinData(128, E0B54FFFFFFFFFFF)]", "[BinData(128, E0B5500000000000), BinData(128, E0B55FFFFFFFFFFF)]", "[BinData(128, E0CA8A0000000000), BinData(128, E0CA8AFFFFFFFFFF)]", "[BinData(128, E0CAA00000000000), BinData(128, E0CAA3FFFFFFFFFF)]", "[BinData(128, E0CAA80000000000), BinData(128, E0CAABFFFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } }, { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 970, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 54667, "restoreState" : 54667, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 710, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 54667, "restoreState" : 54667, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E09F3B0000000000), BinData(128, E09F3BFFFFFFFFFF)]", "[BinData(128, E09F3C0000000000), BinData(128, E09F3FFFFFFFFFFF)]", "[BinData(128, E09F600000000000), BinData(128, E09F6FFFFFFFFFFF)]", "[BinData(128, E09F700000000000), BinData(128, E09F7FFFFFFFFFFF)]", "[BinData(128, E09F800000000000), BinData(128, E09F8FFFFFFFFFFF)]", "[BinData(128, E09F900000000000), BinData(128, E09F9FFFFFFFFFFF)]", "[BinData(128, E09FA00000000000), BinData(128, E09FAFFFFFFFFFFF)]", "[BinData(128, E09FB00000000000), BinData(128, E09FBFFFFFFFFFFF)]", "[BinData(128, E09FC00000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B5050000000000), BinData(128, E0B505FFFFFFFFFF)]", "[BinData(128, E0B5100000000000), BinData(128, E0B51FFFFFFFFFFF)]", "[BinData(128, E0B5354000000000), BinData(128, E0B5357FFFFFFFFF)]", "[BinData(128, E0B5400000000000), BinData(128, E0B57FFFFFFFFFFF)]", "[BinData(128, E0CA800000000000), BinData(128, E0CA8FFFFFFFFFFF)]", "[BinData(128, E0CAA00000000000), BinData(128, E0CAAFFFFFFFFFFF)]", "[BinData(128, E0E0000000000000), BinData(128, E0E003FFFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } }, { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 904, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 50111, "restoreState" : 50111, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 694, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 50111, "restoreState" : 50111, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E09F2C0000000000), BinData(128, E09F2FFFFFFFFFFF)]", "[BinData(128, E09F300000000000), BinData(128, E09F3FFFFFFFFFFF)]", "[BinData(128, E09F4B0000000000), BinData(128, E09F4BFFFFFFFFFF)]", "[BinData(128, E09F4C0000000000), BinData(128, E09F4FFFFFFFFFFF)]", "[BinData(128, E09F600000000000), BinData(128, E09F6FFFFFFFFFFF)]", "[BinData(128, E09F700000000000), BinData(128, E09F7FFFFFFFFFFF)]", "[BinData(128, E09F800000000000), BinData(128, E09FBFFFFFFFFFFF)]", "[BinData(128, E09FC00000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B5000000000000), BinData(128, E0B53FFFFFFFFFFF)]", "[BinData(128, E0B5400000000000), BinData(128, E0B57FFFFFFFFFFF)]", "[BinData(128, E0CA22AA80000000), BinData(128, E0CA22AABFFFFFFF)]", "[BinData(128, E0CA280000000000), BinData(128, E0CA2BFFFFFFFFFF)]", "[BinData(128, E0CA800000000000), BinData(128, E0CA8FFFFFFFFFFF)]", "[BinData(128, E0CAA00000000000), BinData(128, E0CAAFFFFFFFFFFF)]", "[BinData(128, E0E0000000000000), BinData(128, E0E00FFFFFFFFFFF)]", "[BinData(128, E0E0200000000000), BinData(128, E0E020FFFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } }, { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 900, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 45556, "restoreState" : 45556, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 610, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 45556, "restoreState" : 45556, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E09DBFFC00000000), BinData(128, E09DBFFFFFFFFFFF)]", "[BinData(128, E09DE00000000000), BinData(128, E09DEFFFFFFFFFFF)]", "[BinData(128, E09DFA8000000000), BinData(128, E09DFABFFFFFFFFF)]", "[BinData(128, E09E700000000000), BinData(128, E09E7FFFFFFFFFFF)]", "[BinData(128, E09EC00000000000), BinData(128, E09EFFFFFFFFFFFF)]", "[BinData(128, E09F000000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B4500000000000), BinData(128, E0B45FFFFFFFFFFF)]", "[BinData(128, E0B4700000000000), BinData(128, E0B47FFFFFFFFFFF)]", "[BinData(128, E0B5000000000000), BinData(128, E0B53FFFFFFFFFFF)]", "[BinData(128, E0B5400000000000), BinData(128, E0B57FFFFFFFFFFF)]", "[BinData(128, E0B5800000000000), BinData(128, E0B5BFFFFFFFFFFF)]", "[BinData(128, E0B5C00000000000), BinData(128, E0B5FFFFFFFFFFFF)]", "[BinData(128, E0CA000000000000), BinData(128, E0CA3FFFFFFFFFFF)]", "[BinData(128, E0CA800000000000), BinData(128, E0CABFFFFFFFFFFF)]", "[BinData(128, E0E0000000000000), BinData(128, E0E03FFFFFFFFFFF)]", "[BinData(128, E0E0800000000000), BinData(128, E0E08FFFFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } }, { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 950, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 41000, "restoreState" : 41000, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 740, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 41000, "restoreState" : 41000, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E09CC00000000000), BinData(128, E09CFFFFFFFFFFFF)]", "[BinData(128, E09D000000000000), BinData(128, E09DFFFFFFFFFFFF)]", "[BinData(128, E09E000000000000), BinData(128, E09EFFFFFFFFFFFF)]", "[BinData(128, E09F000000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B4000000000000), BinData(128, E0B4FFFFFFFFFFFF)]", "[BinData(128, E0B5000000000000), BinData(128, E0B5FFFFFFFFFFFF)]", "[BinData(128, E0B6550000000000), BinData(128, E0B655FFFFFFFFFF)]", "[BinData(128, E0B7000000000000), BinData(128, E0B70FFFFFFFFFFF)]", "[BinData(128, E0B7100000000000), BinData(128, E0B71FFFFFFFFFFF)]", "[BinData(128, E0B7400000000000), BinData(128, E0B74FFFFFFFFFFF)]", "[BinData(128, E0B7500000000000), BinData(128, E0B75FFFFFFFFFFF)]", "[BinData(128, E0C8800000000000), BinData(128, E0C8BFFFFFFFFFFF)]", "[BinData(128, E0C8E00000000000), BinData(128, E0C8EFFFFFFFFFFF)]", "[BinData(128, E0CA000000000000), BinData(128, E0CAFFFFFFFFFFFF)]", "[BinData(128, E0E0000000000000), BinData(128, E0E0FFFFFFFFFFFF)]", "[BinData(128, E0E2000000000000), BinData(128, E0E23FFFFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } }, { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 830, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 36445, "restoreState" : 36445, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 570, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 36445, "restoreState" : 36445, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E094000000000000), BinData(128, E097FFFFFFFFFFFF)]", "[BinData(128, E099000000000000), BinData(128, E099FFFFFFFFFFFF)]", "[BinData(128, E09B000000000000), BinData(128, E09BFFFFFFFFFFFF)]", "[BinData(128, E09C000000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0B1000000000000), BinData(128, E0B1FFFFFFFFFFFF)]", "[BinData(128, E0B3000000000000), BinData(128, E0B3FFFFFFFFFFFF)]", "[BinData(128, E0B4000000000000), BinData(128, E0B7FFFFFFFFFFFF)]", "[BinData(128, E0BC400000000000), BinData(128, E0BC7FFFFFFFFFFF)]", "[BinData(128, E0BD000000000000), BinData(128, E0BDFFFFFFFFFFFF)]", "[BinData(128, E0C2000000000000), BinData(128, E0C2FFFFFFFFFFFF)]", "[BinData(128, E0C3A00000000000), BinData(128, E0C3AFFFFFFFFFFF)]", "[BinData(128, E0C8000000000000), BinData(128, E0CBFFFFFFFFFFFF)]", "[BinData(128, E0CE000000000000), BinData(128, E0CEFFFFFFFFFFFF)]", "[BinData(128, E0E0000000000000), BinData(128, E0E3FFFFFFFFFFFF)]", "[BinData(128, E0E4000000000000), BinData(128, E0E40FFFFFFFFFFF)]", "[BinData(128, E0E8000000000000), BinData(128, E0E8FFFFFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } }, { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 1060, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 31889, "restoreState" : 31889, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 780, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 31889, "restoreState" : 31889, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, E03B000000000000), BinData(128, E03BFFFFFFFFFFFF)]", "[BinData(128, E03C000000000000), BinData(128, E03FFFFFFFFFFFFF)]", "[BinData(128, E068000000000000), BinData(128, E06BFFFFFFFFFFFF)]", "[BinData(128, E087000000000000), BinData(128, E087FFFFFFFFFFFF)]", "[BinData(128, E08C000000000000), BinData(128, E08FFFFFFFFFFFFF)]", "[BinData(128, E090000000000000), BinData(128, E09FFFFFFFFFFFFF)]", "[BinData(128, E0A4000000000000), BinData(128, E0A7FFFFFFFFFFFF)]", "[BinData(128, E0AD400000000000), BinData(128, E0AD7FFFFFFFFFFF)]", "[BinData(128, E0B0000000000000), BinData(128, E0BFFFFFFFFFFFFF)]", "[BinData(128, E0C0000000000000), BinData(128, E0CFFFFFFFFFFFFF)]", "[BinData(128, E0D8000000000000), BinData(128, E0DBFFFFFFFFFFFF)]", "[BinData(128, E0E0000000000000), BinData(128, E0EFFFFFFFFFFFFF)]", "[BinData(128, E0F0000000000000), BinData(128, E0F0FFFFFFFFFFFF)]", "[BinData(128, E211555540000000), BinData(128, E21155557FFFFFFF)]", "[BinData(128, E214000000000000), BinData(128, E217FFFFFFFFFFFF)]", "[BinData(128, E240000000000000), BinData(128, E243FFFFFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } }, { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 926, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 27334, "restoreState" : 27334, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 716, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 27334, "restoreState" : 27334, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, B57FC00000000000), BinData(128, B57FFFFFFFFFFFFF)]", "[BinData(128, B5D0000000000000), BinData(128, B5DFFFFFFFFFFFFF)]", "[BinData(128, B5F0000000000000), BinData(128, B5FFFFFFFFFFFFFF)]", "[BinData(128, E000000000000000), BinData(128, E03FFFFFFFFFFFFF)]", "[BinData(128, E040000000000000), BinData(128, E04FFFFFFFFFFFFF)]", "[BinData(128, E060000000000000), BinData(128, E06FFFFFFFFFFFFF)]", "[BinData(128, E070000000000000), BinData(128, E07FFFFFFFFFFFFF)]", "[BinData(128, E080000000000000), BinData(128, E0BFFFFFFFFFFFFF)]", "[BinData(128, E0C0000000000000), BinData(128, E0FFFFFFFFFFFFFF)]", "[BinData(128, E180000000000000), BinData(128, E18FFFFFFFFFFFFF)]", "[BinData(128, E1A0000000000000), BinData(128, E1AFFFFFFFFFFFFF)]", "[BinData(128, E200000000000000), BinData(128, E20FFFFFFFFFFFFF)]", "[BinData(128, E210000000000000), BinData(128, E21FFFFFFFFFFFFF)]", "[BinData(128, E230000000000000), BinData(128, E233FFFFFFFFFFFF)]", "[BinData(128, E234000000000000), BinData(128, E237FFFFFFFFFFFF)]", "[BinData(128, E240000000000000), BinData(128, E27FFFFFFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } }, { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 840, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 22778, "restoreState" : 22778, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 580, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 22778, "restoreState" : 22778, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, 9FEC000000000000), BinData(128, 9FEFFFFFFFFFFFFF)]", "[BinData(128, 9FF0000000000000), BinData(128, 9FFFFFFFFFFFFFFF)]", "[BinData(128, B500000000000000), BinData(128, B5FFFFFFFFFFFFFF)]", "[BinData(128, B710000000000000), BinData(128, B71FFFFFFFFFFFFF)]", "[BinData(128, B740000000000000), BinData(128, B77FFFFFFFFFFFFF)]", "[BinData(128, B7C5000000000000), BinData(128, B7C5FFFFFFFFFFFF)]", "[BinData(128, B7D0000000000000), BinData(128, B7DFFFFFFFFFFFFF)]", "[BinData(128, CA80000000000000), BinData(128, CABFFFFFFFFFFFFF)]", "[BinData(128, CAC0000000000000), BinData(128, CAFFFFFFFFFFFFFF)]", "[BinData(128, CB80000000000000), BinData(128, CBBFFFFFFFFFFFFF)]", "[BinData(128, E000000000000000), BinData(128, E0FFFFFFFFFFFFFF)]", "[BinData(128, E100000000000000), BinData(128, E1FFFFFFFFFFFFFF)]", "[BinData(128, E200000000000000), BinData(128, E2FFFFFFFFFFFFFF)]", "[BinData(128, E300000000000000), BinData(128, E33FFFFFFFFFFFFF)]", "[BinData(128, E340000000000000), BinData(128, E343FFFFFFFFFFFF)]", "[BinData(128, E380000000000000), BinData(128, E3BFFFFFFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } }, { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 1184, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 18223, "restoreState" : 18223, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 954, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 18223, "restoreState" : 18223, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, 9D00000000000000), BinData(128, 9DFFFFFFFFFFFFFF)]", "[BinData(128, 9E00000000000000), BinData(128, 9EFFFFFFFFFFFFFF)]", "[BinData(128, 9F00000000000000), BinData(128, 9FFFFFFFFFFFFFFF)]", "[BinData(128, B400000000000000), BinData(128, B7FFFFFFFFFFFFFF)]", "[BinData(128, BC40000000000000), BinData(128, BC7FFFFFFFFFFFFF)]", "[BinData(128, BD00000000000000), BinData(128, BDFFFFFFFFFFFFFF)]", "[BinData(128, C800000000000000), BinData(128, CBFFFFFFFFFFFFFF)]", "[BinData(128, CE00000000000000), BinData(128, CEFFFFFFFFFFFFFF)]", "[BinData(128, E000000000000000), BinData(128, E3FFFFFFFFFFFFFF)]", "[BinData(128, E400000000000000), BinData(128, E4FFFFFFFFFFFFFF)]", "[BinData(128, E600000000000000), BinData(128, E6FFFFFFFFFFFFFF)]", "[BinData(128, E800000000000000), BinData(128, E8FFFFFFFFFFFFFF)]", "[BinData(128, E900000000000000), BinData(128, E9FFFFFFFFFFFFFF)]", "[BinData(128, EA00000000000000), BinData(128, EA3FFFFFFFFFFFFF)]", "[BinData(128, EA40000000000000), BinData(128, EA7FFFFFFFFFFFFF)]", "[BinData(128, EC00000000000000), BinData(128, EC3FFFFFFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } }, { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 1070, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 13667, "restoreState" : 13667, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 740, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 13667, "restoreState" : 13667, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, 3B00000000000000), BinData(128, 3BFFFFFFFFFFFFFF)]", "[BinData(128, 3C00000000000000), BinData(128, 3FFFFFFFFFFFFFFF)]", "[BinData(128, 6800000000000000), BinData(128, 6BFFFFFFFFFFFFFF)]", "[BinData(128, 6C00000000000000), BinData(128, 6FFFFFFFFFFFFFFF)]", "[BinData(128, 8400000000000000), BinData(128, 87FFFFFFFFFFFFFF)]", "[BinData(128, 8C00000000000000), BinData(128, 8FFFFFFFFFFFFFFF)]", "[BinData(128, 9000000000000000), BinData(128, 9FFFFFFFFFFFFFFF)]", "[BinData(128, A400000000000000), BinData(128, A7FFFFFFFFFFFFFF)]", "[BinData(128, AC00000000000000), BinData(128, AFFFFFFFFFFFFFFF)]", "[BinData(128, B000000000000000), BinData(128, BFFFFFFFFFFFFFFF)]", "[BinData(128, C000000000000000), BinData(128, CFFFFFFFFFFFFFFF)]", "[BinData(128, D000000000000000), BinData(128, D3FFFFFFFFFFFFFF)]", "[BinData(128, D800000000000000), BinData(128, DBFFFFFFFFFFFFFF)]", "[BinData(128, DC00000000000000), BinData(128, DFFFFFFFFFFFFFFF)]", "[BinData(128, E000000000000000), BinData(128, EFFFFFFFFFFFFFFF)]", "[BinData(128, F000000000000000), BinData(128, FFFFFFFFFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } }, { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 920, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 9111, "restoreState" : 9111, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 630, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 9111, "restoreState" : 9111, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, 0000000000000000), BinData(128, FFFFFFFFFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } }, { "stage" : "FETCH", "nReturned" : 583104, "executionTimeMillisEstimate" : 870, "works" : 583105, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 4556, "restoreState" : 4556, "isEOF" : 1, "invalidates" : 0, "docsExamined" : 583104, "alreadyHasObj" : 0, "inputStage" : { "stage" : "IXSCAN", "filter" : { "TwoDKeyInRegionExpression" : true }, "nReturned" : 583104, "executionTimeMillisEstimate" : 620, "works" : 583104, "advanced" : 583104, "needTime" : 0, "needFetch" : 0, "saveState" : 4556, "restoreState" : 4556, "isEOF" : 1, "invalidates" : 0, "keyPattern" : { "location" : "2d" }, "indexName" : "location_2d", "isMultiKey" : false, "direction" : "forward", "indexBounds" : { "location" : [ "[BinData(128, 0000000000000000), BinData(128, FFFFFFFFFFFFFFFF)]" ] }, "keysExamined" : 583104, "dupsTested" : 0, "dupsDropped" : 0, "seenInvalidated" : 0, "matchTested" : 583104 } } ] } }, "serverInfo" : { "host" : "some_host", "port" : 27017, "version" : "3.0.0-rc11", "gitVersion" : "709cafbbb86c994bc153df189ace58a9c2e4145b" }, "ok" : 1 }
    • Sprint:
      RPL 1 04/03/15

      Description

      Issue Status as of Apr 02, 2015

      ISSUE SUMMARY
      $nearSphere queries using 2d indexes start from a fixed size of initial search area, which is too large for dense data. This strategy may lead to poor performance in some cases.

      In 2.6.x and earlier, 2d indexes used a different initial search strategy, which was not susceptible to this issue.

      USER IMPACT
      Some $nearSphere queries using 2d indexes may suffer from very poor performance.

      WORKAROUNDS
      Use 2dsphere indexes for spherical data when possible.

      AFFECTED VERSIONS
      3.0.0 and 3.0.1

      FIX VERSION
      The fix is included in the 3.0.2 production release.

      Original description

      We noticed a performance regression in nearSphere queries when comparing 2.6.5 with 3.0.0-rc11. It looks like in 3.0 returns the entire collection is scanned vs only a few thousand documents in 2.6.5

      1. 2d-regression.tar.gz
        5.98 MB
        Michael Kania
      2. 2d-regression-date-range.tar.gz
        11.97 MB
        Michael Kania

        Activity

        Hide
        siyuan.zhou Siyuan Zhou added a comment -

        Hi, Michael Kania and Asya Kamsky,

        The patch has been pushed to master branch yesterday. It'll be included in dev release 3.1.1 and backported to 3.0.

        Thanks,
        Siyuan

        Show
        siyuan.zhou Siyuan Zhou added a comment - Hi, Michael Kania and Asya Kamsky , The patch has been pushed to master branch yesterday. It'll be included in dev release 3.1.1 and backported to 3.0. Thanks, Siyuan
        Hide
        dynamike Michael Kania added a comment -

        Awesome. I'll rerun our benchmarks to verify this works for our use case and get back to you.

        Show
        dynamike Michael Kania added a comment - Awesome. I'll rerun our benchmarks to verify this works for our use case and get back to you.
        Hide
        xgen-internal-githook Githook User added a comment -

        Author:

        {u'username': u'visualzhou', u'name': u'Siyuan Zhou', u'email': u'visualzhou@gmail.com'}

        Message: SERVER-17469 Enable density estimator for 2d nearSphere.

        (cherry picked from commit 3ee2c5c5c2c4ad0534138d567ccc7b053defff4a)
        Branch: v3.0
        https://github.com/mongodb/mongo/commit/d9eee3757d06aa5467060438b4ff276d8439d737

        Show
        xgen-internal-githook Githook User added a comment - Author: {u'username': u'visualzhou', u'name': u'Siyuan Zhou', u'email': u'visualzhou@gmail.com'} Message: SERVER-17469 Enable density estimator for 2d nearSphere. (cherry picked from commit 3ee2c5c5c2c4ad0534138d567ccc7b053defff4a) Branch: v3.0 https://github.com/mongodb/mongo/commit/d9eee3757d06aa5467060438b4ff276d8439d737
        Hide
        dynamike Michael Kania added a comment -

        So just querying for coordinates appear to be much better with your patch. However after more testing I noticed that if I include a date range in the query there is a pretty significant performance regression between 2.6 and 3.0. I've attached a second export(2d-regression-date-range.tar.gz) that is the same as the previous export but with an additional _created_at field.

        \\ create 2d index and _created_at index
        db.test_collection.createIndex({ "location": "2d" })
        db.test_collection.createIndex( { "_created_at": 1 } )
        db.test_collection.find({ location: { $nearSphere: [ 106.6331, 10.7395 ] }, _created_at: {"$lte" : ISODate("2015-01-23T17:59:44Z"), "$gte" : ISODate("2015-01-23T01:59:44Z")}}).limit(100)
        

        2.6
        millis: 81
        nscanned: 35252
        nscannedObjects: 20345

        3.0
        executionTimeMillis: 2726
        totalKeysExamined: 1037671
        totalDocsExamined: 744461

        Show
        dynamike Michael Kania added a comment - So just querying for coordinates appear to be much better with your patch. However after more testing I noticed that if I include a date range in the query there is a pretty significant performance regression between 2.6 and 3.0. I've attached a second export(2d-regression-date-range.tar.gz) that is the same as the previous export but with an additional _created_at field. \\ create 2d index and _created_at index db.test_collection.createIndex({ "location": "2d" }) db.test_collection.createIndex( { "_created_at": 1 } ) db.test_collection.find({ location: { $nearSphere: [ 106.6331, 10.7395 ] }, _created_at: {"$lte" : ISODate("2015-01-23T17:59:44Z"), "$gte" : ISODate("2015-01-23T01:59:44Z")}}).limit(100) 2.6 millis: 81 nscanned: 35252 nscannedObjects: 20345 3.0 executionTimeMillis: 2726 totalKeysExamined: 1037671 totalDocsExamined: 744461
        Hide
        dynamike Michael Kania added a comment -

        To not pollute this issue, I created a second bug https://jira.mongodb.org/browse/SERVER-18056

        Show
        dynamike Michael Kania added a comment - To not pollute this issue, I created a second bug https://jira.mongodb.org/browse/SERVER-18056

          People

          • Votes:
            1 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

                Agile