本文介绍了MongoDB:$GeoIntersects用于多个输入坐标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个需要执行$geoIntersects查询的坐标列表。对于一个坐标,查询如下所示:

db.polygons.find({ 
    geometry: { 
        $geoIntersects: {
            $geometry: {
                type: "Point", coordinates: [24.053640, 49.812427]
            } 
        } 
    } 
})

问题是有一个输入坐标列表,我需要为每个输入坐标找到一个多边形。到目前为止,我找到的唯一方法是在应用程序代码中迭代它们,并执行N次查询。

一个MongoDB查询就可以做到吗?如果没有,我们将不胜感激,希望您能对此进行优化。

推荐答案

一种可能的解决方案是将点几何类型替换为多点几何类型,并将输入坐标列表作为数组传递。

db.polygons.find({ 
geometry: { 
    $geoIntersects: {
        $geometry: {
            type: "MultiPoint", coordinates: [[24.053640, 49.812427],[...]...] 
        } 
    } 
} 
})

这篇关于MongoDB:$GeoIntersects用于多个输入坐标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 08:02