我对MongoDB地理空间索引有一个非常奇怪的问题:
> db.events.find({'geo': {'$maxDistance': 5, '$near': [45.21012750000001, 7.1364645]}})
error: {
"$err" : "geo values have to be numbers: { $maxDistance: 5.0, $near: [ 45.21012750000001, 7.1364645 ] }",
"code" : 13026
}
最奇怪的是,以不同顺序编写的相同查询可以完美地运行:
> db.events.find({'geo': {'$near': [45.21012750000001, 7.1364645], '$maxDistance': 5}})
两个查询不应该保持相同的结果吗?
答案 0 :(得分:2)
这两个查询的处理方式不一样 - 正如您所见,订单很重要。
请求在https://jira.mongodb.org/browse/SERVER-1990中使两者完全相同,但它目前不是特定版本的目标。
随意对此问题进行投票和/或观看。