2012-06-09 2 views
1

У меня очень странные проблемы с индексами MongoDB геопространственных: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}}) 

Не должны ли оба запроса иметь одинаковый результат?

ответ

2

Два запроса не обрабатываются одинаково - как вы видели, порядок имеет значение.

Существует запрос сделать два идентичных в https://jira.mongodb.org/browse/SERVER-1990, но в настоящее время он не предназначен для конкретной версии.

Не стесняйтесь проголосовать за вопрос и/или посмотреть его.

Смежные вопросы