$minDistance
定義
$minDistance
地理空間
$near
または$nearSphere
クエリの結果を、中心点から指定された 以上の距離にあるドキュメントにフィルタリングします。$near
または$nearSphere
クエリで中心点がGeoJSON ポイントとして指定される場合は、距離をメートル単位で負でない数として指定します。$nearSphere
クエリで中心点がlegacy coordinate pairとして指定される場合は、距離をラジアン 単位で負でない数として指定します。 は、クエリで中心点が GeoJSON$near
ポイント として指定されている場合にのみ、 2dsphere インデックスを使用できます 。
例
以下と一緒に使用する $near
重要
緯度と経度の座標を指定する場合は、最初に経度、次に緯度を指定します。
有効な経度の値は、
-180
以上、180
以下です。有効な緯度の値は
-90
以上、90
以下です。
2dsphere
インデックスのあるコレクション places
を考えてみましょう。
次の例では、指定された GeoJSON ポイントから少なくとも 1000
メートル、最大 5000
メートル離れたドキュメントを、近いものから遠いものの順に返します。
db.places.find( { location: { $near : { $geometry: { type: "Point", coordinates: [ -73.9667, 40.78 ] }, $minDistance: 1000, $maxDistance: 5000 } } } )
以下と一緒に使用する $nearSphere
location
フィールドと2dsphereインデックスを持つドキュメントを含むコレクションplaces
について考えます。
次に、次の例では、指定された点から少なくとも1000
メートル、最大5000
メートル離れたlocation
を、最も近いものから最も遠いものの順に返します。
db.places.find( { location: { $nearSphere: { $geometry: { type : "Point", coordinates : [ -73.9667, 40.78 ] }, $minDistance: 1000, $maxDistance: 5000 } } } )
中心点を legacy coordinate pair として指定する例については、次を参照してください $nearSphere