在MongoDB上创建地理空间索引

时间:2016-06-02 12:39:52

标签: mongodb indexing geospatial

我正在使用MongoDB的地理空间特征,我的典型文档如下:

{
    "_id" : ObjectId("574ebe5f9985eb31a9bdbe39"),
    "geoareaName" : "GEOAREA2",
    "loc" : {
        "type" : "Polygon",
        "coordinates" : [
            [
                [
                    13.870663396091308,
                    3.481292724609375
                ],
                [
                    13.875996314658366,
                    3.482236862182617
                ],
                [
                    13.872746581997381,
                    3.484210968017578
                ],
                [
                    13.871829982503106,
                    3.484961986541748
                ],
                [
                    13.870663396091308,
                    3.481292724609375
                ]
            ]
        ]
    },
    "color" : "#ff0000",
    "_version" : 4,
    "active" : false
}

然后有一些点位置,我使用$ geoIntersects关键字进行查询,它就像一个魅力,但为了最佳地使用mongo的地理空间功能,我想在各个位置放置索引,有人可以建议应该是什么正确的方法。

谢谢, - Vaibhav

1 个答案:

答案 0 :(得分:4)

https://docs.mongodb.com/manual/core/2dsphere/

在loc上创建一个2dsphere索引。

db.collection.createIndex({loc:" 2dsphere"})

它非常基本,但效果很好!