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

2d Indexes

項目一覧

  • ユースケース
  • はじめる
  • 詳細
  • サポートされている計算
  • 複合 2d インデックス
  • sparse プロパティ
  • 詳細

2 d インデックスは、 2 次元平面上の点として保存されたデータに対するクエリをサポートします。 2 d インデックスはlegacy coordinate pairs に対するクエリを対象としています。

2d インデックスを作成するには、インデックスstring2d タイプとして {0 を指定します。

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

GeoJSONオブジェクトのクエリには 2d インデックスは使用できません。 GeoJSON オブジェクトでクエリを有効にするには、 2dsphere インデックス を使用します。

注意

2 d インデックスを作成する場合、最初の値(経度)は - 180から180までの範囲でなくてはなりません。 2 番目の値(緯度)は、- 90から90までの範囲でなくてはなりません。 ただし、 2 d インデックスminmaxオプションを使用してこれらのデフォルト制限を上書きできます。 2 dsphere インデックス座標とは異なり、 2d indexes値は球体を「包み込み」ません。

2d インデックスを使用して、2 次元平面内で表されたデータをクエリおよび計算します。 例:

  • 2 つのアート作品間の視覚的な類似性を分析するアプリケーション。

  • 2 次元グラフに対して計算を実行できる計算子。

  • 2 次元マップ上のプレイヤー間の距離を計算するモバイルゲーム。

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

2d インデックスは平面的なユークリッド平面上の計算をサポートします。

球面形状計算の場合は、データをGeoJSON オブジェクトとして保存し、 2dsphere インデックス を使用して地理空間クエリをサポートします。

2 つのフィールドを参照する複合 2d インデックスを作成できます。

  • 最初のフィールドは、ロケーション フィールドである必要があります。 インデックスは、このフィールドで最初に選択するクエリを構築します。

  • 2 番目のフィールドは、追加の条件に基づいて結果をさらにフィルタリングします。

複合 2d インデックスは クエリをカバーできます。

2d インデックスは常にスパースで、スパースオプションを無視します。 ドキュメントに 2d インデックス フィールドがない場合(またはフィールドがnullまたは空の配列である場合)、MongoDB はドキュメントのエントリーを 2d インデックスに追加しません。 挿入の場合、MongoDB はドキュメントを挿入しますが、2d インデックスには追加しません。

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

戻る

バージョン