2 d インデックスは、 平面、ユークリッド平面内の位置データに対するクエリをサポートします。
2d インデックスを作成するには、 db.collection.createIndex()メソッドを使用します。 インデックス タイプは"2d"です。
db.<collection>.createIndex( { <location field> : "2d" } )
このタスクについて
<location field>の値はlegacy coordinate pairs である必要があります。legacy coordinate pairs を指定する場合は、最初に経度、次に緯度を指定します。
有効な経度の値は、
-180以上、180以下です。有効な緯度の値は
-90以上、90以下です。
始める前に
contacts コレクションを次のように作成します。
db.contacts.insertMany( [ { name: "Evander Otylia", phone: "202-555-0193", address: [ 55.5, 42.3 ] }, { name: "Georgine Lestaw", phone: "714-555-0107", address: [ -74, 44.74 ] } ] )
addressフィールドにはlegacy coordinate pairs が含まれています。
手順
addressフィールドに 2D インデックス を作成します。
db.contacts.createIndex( { address : "2d" } )
次のステップ
2d インデックスを作成したら、2d インデックスを使用してロケーション データの計算をサポートできます。 2d インデックスを使用するクエリの例については、以下を参照してください。
詳細
球面の計算をサポートするインデックスを作成するには、「 2dsphere インデックス 」を参照してください。