Если я выполняю следующий запрос в оболочке MongoDB, все в порядке:
db.users.find({location: {$near: [52.3, 6.6], $maxDistance: 0.27}})
Однако, если я переключаю порядок аргументов, запрос завершается ошибкой:
db.users.find({location: {$maxDistance: 0.27, $near: [52.3, 6.6]}})
Mongoвозвращает следующую ошибку:
error: {
"$err" : "geo values have to be numbers: { $maxDistance: 0.27, $near: [ 52.3, 6.6 ] }",
"code" : 13026
}
Видимо, порядок аргументов словаря запросов важен, что мне кажется странным.Кто-нибудь может пролить свет на это?Я использую MongoDB 2.0.2.
Необходимый порядок создает для меня проблему, так как я динамически создаю словарь и (не хочу) не могу контролировать порядок, в котором ключи сериализуются (что,бывает тот, кто излагает ошибку).