Похоже, mongodb предлагает две аналогичные функции для геопространственных запросов - $near
и $geoNear
. Согласно документам mongomongodb geoNear vs near
Команда geoNear предоставляет альтернативу оператору $ near. В дополнение функциональности $ near, geoNear возвращает дополнительную диагностическую информацию .
Похоже, что geoNear
обеспечивает надстройку функциональности near
. Например, near
, кажется, возвращает только ближайшие 100 документов, тогда как geoNear
позволяет указать максимум. Есть ли причина использовать near
вместо geoNear
? Является ли более эффективным, чем другой?
Спасибо за разъяснение. Единственное, что неясно, так это то, что в ближайших документах говорится, что он возвращает 100 документов, но в моем тестировании с mongo 2.4 это, похоже, не так. Кажется, что все документы возвращаются, если не используется ограничение. Вы знаете, каково должно быть поведение? –
Короткий ответ: Нет. Я не знаю, что такое ожидаемое поведение 2.4. Согласно этому билету Джиры (https: //jira.mongodb.org/browse/SERVER-5236), они по-прежнему не исправили «прогрессивные» результаты от $ near queries, поэтому он остановится в какой-то момент. То, что вы видите, - это запрос, возвращающий как можно больше результатов в первой партии, но в конечном итоге размер этой партии должен быть исчерпан. Роб. –
по крайней мере, кажется, не ограничивается 100, что, как я думал, было так. Спасибо за помощь. –