Да, можете да използвате геопространствения индекс 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 коментар на по-долу.