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

2dsphere インデックス

項目一覧

  • ユースケース
  • はじめる
  • 詳細
  • sparse プロパティ
  • 2dsphere 複合インデックス
  • 詳細

2dsphere インデックスは、地球のような球体上の地理空間クエリをサポートします。たとえば、2dsphere インデックスでは次のことが可能です。

  • 指定したエリア内のポイントを決定します。

  • 指定した点への近接度を計算します。

  • 座標クエリで完全一致を返します。

インデックス フィールドの値は次のいずれかでなくてはなりません。

  • GeoJSON オブジェクト

  • Legacy coordinate pairs

    legacy coordinate pairsの場合、2dsphere インデックスはデータを GeoJSON points に変換します。

2dsphere インデックスを作成するには、インデックス型として文字列 2dsphere を指定します。

db.<collection>.createIndex( { <location field> : "2dsphere" } )

注意

2dsphere インデックスを作成する場合、最初の値、つまり経度は -180 から 180 までの範囲でなくてはなりません。2 番目の値、つまり緯度は、 -90 から 90 までの範囲でなくてはなりません。これらの座標は球体を「包み込み」ます。たとえば、-179.9 と +179.9 は近傍です。

2dsphere インデックスを使用して、点が地球上または他の球面に表示されるロケーション データのクエリと計算を行います。以下に例を挙げます。

  • フード デリバリー アプリケーションは、2dsphere インデックスを使用して、近くのレストランの検索をサポートします。

  • ルート計画アプリケーションは、2dsphere インデックスを使用して休憩場所の間の最短距離を計算します。

  • 都市計画担当者は、2dsphere インデックスを使用すると、市域内に存在する公園を探せます。

2dsphere インデックスの作成およびクエリ方法については、以下を参照してください。

2dsphere インデックスは常にスパースで、複合インデックスの一部として作成されると、特別な動作をします。

2dsphere インデックスは常にスパースです。2dsphere インデックスを作成すると、MongoDB は sparse オプションを無視します。

既存または新しく挿入されたドキュメントに 2dsphere インデックス フィールドが含まれていない場合(またはフィールドが null または空の配列である場合)、MongoDB はドキュメントのエントリーをインデックスに追加しません。

  • 2dsphere インデックス キーと他のタイプのキーを含む複合インデックスの場合、インデックスがドキュメントを参照するかどうかは、2dsphere インデックス フィールドのみが決定します。

  • 複合 2dsphere インデックスは、複数のロケーション フィールドと非ロケーション フィールドを参照できます。対照的に、複合 2d インデックスは、1 つのロケーション フィールドと 1 つの他のフィールドのみを参照できます。

戻る

地理空間