Ответ 1
Да, вы можете использовать геопространственный индекс MongoDB в пределах Meteor, и, вы можете создать этот индекс из своего приложения Meteor.
- Геопространственный поиск
Я использую оператор $within
ниже, в отличие от оператора $near
, упомянутого выше, но это все еще применяется:
Meteor.publish('places', function(box) {
return Places.find({ loc : { $within : { $box : box }}});
});
Напоминание: эти геологические запросы доступны только на сервере (в настоящее время).
- Создание геопространственного индекса изнутри Meteor (а не в оболочке MongoDB)
Places._ensureIndex({ loc : "2d" });
например. Вы можете использовать приведенное выше в bootstrap.js
.
Кроме того, вы, вероятно, захотите поместить свой ensureIndex
в Meteor.startup
или, возможно, когда вы вставляете некоторые начальные данные.
Предупреждение. Как упоминалось здесь, приведенный выше метод вызова ensureIndex
- это работа по необходимости официального способа назвать это, поэтому, пожалуйста, ожидайте, что это может измениться.
Обновление: теперь отражает изменения в Meteor 0.5.0, см. комментарий @Dror ниже.