$box
定義
$box
地理空間
$geoWithin
クエリの角形を指定して、ポイントベースの位置データに従って、角形の境界にあるドキュメントを返します。$box
演算子とともに使用すると、$geoWithin
はグリッド座標に基づいてドキュメントを返し、GeoJSON シェイプをクエリしません。$box
演算子を使用するには、配列オブジェクト内の直列の左下と右上の隅を指定する必要があります。{ <location field>: { $geoWithin: { $box: [ [ <bottom left coordinates> ], [ <upper right coordinates> ] ] } } } 重要
経度と緯度を使用する場合は、最初に経度を指定します。
動作
クエリは平面(平面)ジオメトリを使用して距離を計算します。
アプリケーションは、地理空間インデックスが なく$box
ても を使用できます。ただし、地理空間インデックスでは、インデックスがない場合よりもはるかに高速なクエリをサポートします。
2 d地理空間インデックスのみが$box
をサポートしています。
例
次のクエリ例では、 ボックス内にあり、ポイントが[ 0 , 0 ]
、 [ 0 , 100 ]
、 [ 100 , 0 ]
、 [ 100 , 100 ]
にあるすべてのドキュメントが返されます。
db.places.find( { loc: { $geoWithin: { $box: [ [ 0, 0 ], [ 100, 100 ] ] } } } )