Mongodb 如何在数组字段上设置地理空间2dsphere索引?

Mongodb 如何在数组字段上设置地理空间2dsphere索引?,mongodb,geospatial,Mongodb,Geospatial,我试图在一个坐标数组字段上使用地理空间2dsphere 我有带区域的城市,每个城市都有自己的区域阵列。当我试着做一个交叉口时,我只用一个特定城市的区域来测试我的区域。因此,我不想把所有城市的所有区域放在同一个集合中 因此我的问题是,你是如何设置的 我的服务器是nodejs,如果有帮助的话,我使用本机mongodb lib。GeoJSON确实定义了一个数据类型,该数据类型已在中实现。如果无法使用其中一个版本,则可以通过为一个集合中的每个城市创建文档,并为另一个集合中与城市关联的每个多边形创建文档,

我试图在一个坐标数组字段上使用地理空间2dsphere

我有带区域的城市,每个城市都有自己的区域阵列。当我试着做一个交叉口时,我只用一个特定城市的区域来测试我的区域。因此,我不想把所有城市的所有区域放在同一个集合中

因此我的问题是,你是如何设置的

我的服务器是nodejs,如果有帮助的话,我使用本机mongodb lib。

GeoJSON确实定义了一个数据类型,该数据类型已在中实现。如果无法使用其中一个版本,则可以通过为一个集合中的每个城市创建文档,并为另一个集合中与城市关联的每个多边形创建文档,同时存储原始城市的id来解决问题

i、 e

城市收藏:

{
    _id: ObjectId("51f67cfb20ea59dba539d9f8"),
    name: 'New York',
    ...
}
市集

{
    city_id: ObjectId("51f67cfb20ea59dba539d9f8"),
    loc: {
            type: Polygon,
            coordinates: ...
    },
    ...
}
然后,您可以在city_poly的loc字段上创建一个2dsphere索引。

GeoJSON确实定义了一个数据类型,该数据类型已在中实现。如果无法使用其中一个版本,则可以通过为一个集合中的每个城市创建文档,并为另一个集合中与城市关联的每个多边形创建文档,同时存储原始城市的id来解决问题

i、 e

城市收藏:

{
    _id: ObjectId("51f67cfb20ea59dba539d9f8"),
    name: 'New York',
    ...
}
市集

{
    city_id: ObjectId("51f67cfb20ea59dba539d9f8"),
    loc: {
            type: Polygon,
            coordinates: ...
    },
    ...
}

然后,您可以在city_poly的loc字段上创建一个2dsphere索引。

虽然我在nodejs(服务器)中进行了交叉,但您的答案是可以接受的。干杯。对MultiPoli()的支持目前只添加到MongoDB的2.5开发/不稳定版本中,因此计划在今年晚些时候发布2.6生产版本。虽然我通过在nodejs(服务器)中进行交叉来解决问题,但您的回答是可以接受的。干杯。对MultiPoli()的支持目前只添加到MongoDB的2.5开发/不稳定版本中,因此计划在今年晚些时候发布2.6产品版本,这一点毫无价值。