Docs Menu
Docs Home
/
MongoDBマニュアル
/ /

Haystack インデックスのクエリ

重要

MongoDB 5.0 で削除

MongoDB 5.0では、非推奨の geoHaystackインデックスと geoSearchコマンドが削除されます。 代わりに、 またはサポートされている$geoNear 地理空間クエリ演算子 のいずれかを使用した2 d インデックス を使用してください。

MongoDB インスタンスを 5.0 にアップグレードし、featureCompatibilityVersion5.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 インデックスは、特定の場所に最も近いドキュメントの完全なリストを照会するクエリには適していません。 最も近いドキュメントは、バケット サイズと比較してより遠い可能性があります。

注意

球面クエリ操作は現在、haystack インデックスではサポートされていません。

find()メソッドは haystack インデックスにアクセスできません。

戻る

Haystack インデックスの作成