1

我对 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}})

两个查询不应该保持相同的结果吗?

4

1 回答 1

2

这两个查询的处理方式不同 - 如您所见,顺序很重要。

在https://jira.mongodb.org/browse/SERVER-1990中有一个要求使两者相同,但它目前不是针对特定版本的。

随意就这个问题投票和/或观看它。

于 2012-06-10T05:11:06.953 回答