Haystack インデックスのクエリ
重要
MongoDB 5.0 で削除
MongoDB 5.0では、非推奨の geoHaystackインデックスと geoSearch
コマンドが削除されます。 代わりに、 またはサポートされている$geoNear
地理空間クエリ演算子 のいずれかを使用した2 d インデックス を使用してください。
MongoDB インスタンスを 5.0 にアップグレードし、featureCompatibilityVersion を 5.0
に設定すると、既存の geoHaystack インデックスがすべて削除されます。
haystack インデックスは、小さな領域の結果を返すように最適化された特別な2d
地理空間インデックスです。 haystack インデックスを作成するには、「 Haystack インデックスの作成 」を参照してください。
haystack インデックスをクエリするには、 geoSearch
コマンドを使用します。 geoSearch
には、座標と追加 フィールドの両方を指定する必要があります。 たとえば、サンプル ポイントの近くのtype
フィールドにある値restaurant
を持つすべてのドキュメントを返すには、コマンドは次のようになります。
db.runCommand( { geoSearch : "places" , search : { type: "restaurant" } , near : [-74, 40.74] , maxDistance : 10 } )
注意
Haystack インデックスは、特定の場所に最も近いドキュメントの完全なリストを照会するクエリには適していません。 最も近いドキュメントは、バケット サイズと比較してより遠い可能性があります。