geoHaystack
Indexes
重要
MongoDB 5.0 で削除
MongoDB 5.0では、非推奨の geoHaystackインデックスとgeoSearch
コマンドが削除されます。 代わりに、 またはサポートされている$geoNear
地理空間クエリ演算子 のいずれかを使用した2 d インデックス を使用してください。
MongoDB インスタンスを 5.0 にアップグレードし、featureCompatibilityVersion を 5.0
に設定すると、既存の geoHaystack インデックスがすべて削除されます。
geoHaystack
インデックスは、小さな領域の結果を返すように最適化された特別なインデックスです。 geoHaystack
インデックスを使用すると、平面ジオメトリを使用するクエリのパフォーマンスが向上します。
球状ジオメトリを使用するクエリの場合、 haystack インデックスよりも 2dsphere インデックスの方が優れたオプションです。 2dsphere インデックス ではフィールド順序の変更が可能です。 geoHaystack
インデックスでは、最初のフィールドはロケーション フィールドである必要があります。 また、 geoHaystack
インデックスは コマンドでのみ使用できるため、常にすべての結果を一度に返します。
動作
geoHaystack
インデックスは、その領域に限定されたクエリのパフォーマンスを向上させるために、同じ地理的領域のドキュメントの「バケット」を作成します。 geoHaystack
インデックス内の各バケットには、指定された経度と緯度に近接する範囲内のすべてのドキュメントが含まれます。
sparse
プロパティ
geoHaystack
インデックスはデフォルトでスパースであり、 sparse: trueオプションを無視します。 ドキュメントにgeoHaystack
インデックス フィールドがない場合(またはフィールドがnull
または空の配列である場合)、MongoDB はドキュメントのエントリーをgeoHaystack
インデックスに追加しません。 挿入の場合、MongoDB はドキュメントを挿入しますが、 geoHaystack
インデックスには追加しません。
geoHaystack
インデックスには、1 つのgeoHaystack
インデックスキーと 1 つの非地理空間インデックスキーが含まれます。ただし、インデックスがドキュメントを参照するかどうかは、 geoHaystack
インデックス フィールドのみによって決定します。
照合オプション
geoHaystack
インデックスは単純なバイナリ比較のみをサポートしており、照合 はサポートしていません。
単純ではない照合順序を持つコレクションにgeoHaystack
インデックスを作成するには、インデックスの作成時、 {collation: {locale: "simple"}
}
を明示的に指定する必要があります。
geoHaystack
インデックスの作成
geoHaystack
インデックスを作成するには、「 Haystack インデックスの作成」を参照してください。 haystack インデックスのクエリに関する情報と例については、「 Haystack インデックスのクエリ 」を参照してください。