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