gpt4 book ai didi

mongodb - 地理空间附近查询获取距当前点最远的点?

转载 作者:可可西里 更新时间:2023-11-01 10:31:35 25 4
gpt4 key购买 nike

您好,这是 mongodb 地理空间近距离查询的新手问题 - 距当前用户点的距离内存在未知点,我需要找到距当前点最远的点(给定距离范围)。

但似乎 near 仅按距离升序(或最近)的顺序对其进行排序,所以问题是如何获得按距离降序(最远)排序的 Geo 结果?

谢谢!!

最佳答案

你的问题中没有代码,所以我想我会从文档中窃取。

渔获物实际上有一个“距离”字段可以排序,$near运算符迎合了人们“期望”事物处于“最近”顺序的一般情况。

但是您可以使用聚合框架和 $geoNear 来做到这一点那里的运营商:

db.places.aggregate([
// Must be the the "first" pipeline stage
{ "$geoNear": {
"near": [40.724, -73.997],
"distanceField": "dist.calculated",
"maxDistance": 0.008,
"query": { "type": "public" },
"includeLocs": "dist.location",
"num": 5
}},

// Now you have something to sort on, so furthest comes first
{ "$sort": { "dist.calculated": -1 } },

// And return only 1
{ "$limit": 1 }
])

但请注意,这样做的目的是从您查询“附近”的点找到“最远”的可能位置,并且仅“在”您绑定(bind)到查询的约束以及最多可能的 100 个结果。

完整 options spec在手册页上。

要从完整的数据集中真正找到“最远”点是 near 的一种反直觉用法,正如其设计目的一样。

作为对最后一点的说明,没有“最远”运算符本身,主要是因为它似乎缺乏很多实际用法。

但希望您的意思是所描述的内容并且对您有实际用途,我希望这就是您的问题实际要求的内容。

关于mongodb - 地理空间附近查询获取距当前点最远的点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23126139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com