创建二维索引
二维索引支持对平面欧几里得平面中的位置数据进行查询。
要创建二维索引,请使用该db.collection.createIndex()
方法。索引类型是"2d"
:
db.<collection>.createIndex( { <location field> : "2d" } )
关于此任务
- 中的值
<location field>
必须是旧坐标对。 - 指定旧坐标对时,首先列出经度,然后列出纬度。
- 有效的经度值介于
-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
字段包含旧坐标对。
过程
在字段上创建二维索引address
:
db.contacts.createIndex( { address : "2d" } )
下一步
创建二维索引后,您可以使用二维索引来支持位置数据的计算。要查看使用二维索引的查询示例,请参阅:
了解更多
- 定义 2d 索引的位置精度
- 定义二维索引的位置范围
- 地理空间索引限制
- 要创建支持球面计算的索引,请参阅2dsphere 索引