我的收藏中有这种格式的数据:
{
"_id" : ObjectId("53563136d91216a097fc4e12"),
"type" : "Feature",
"geometry" : {
"type" : "LineString",
"coordinates" : [
[13468472.06, 1625377.26],
[13468446.27, 1625383.95],
[13468425.24, 1625398.28],
[13468396.58, 1625419.29]
]
}
}
执行此查询时:
db.foobar.find({
"geometry":{
"$near": {
"$geometry": {
"type": "Point",
"coordinates" : [13468472, 1625377]
}
}
}
})
为什么我没有得到结果?当我想知道哪些特定点属于该 LineString 时,如何执行查询?
不幸的是,到目前为止,您无法对“Point”类型以外的任何其他几何图形执行“$near”运算符的查询。这就是您没有得到结果的原因。
如果您希望查看 $near 的演示,您可以尝试创建点集合 - 为其建立索引 - 然后运行查询。
我发现可以看到 $near 实际运行的一个有用的视频链接是 this。该视频不是最近的视频,但仍然不错。