Tak, możesz używać indeksu geoprzestrzennego MongoDB w Meteor, i możesz również utworzyć ten indeks z poziomu swojej aplikacji Meteor.
- Wyszukiwanie geoprzestrzenne
Używam $within
operator poniżej, w przeciwieństwie do $near
operatora wymienionego powyżej, ale to nadal obowiązuje:
Meteor.publish('places', function(box) {
return Places.find({ loc : { $within : { $box : box }}});
});
Przypomnienie :tego rodzaju zapytania geograficzne są dostępne tylko na serwerze (obecnie).
- Tworzenie indeksu geoprzestrzennego z poziomu Meteoru (zamiast w powłoce MongoDB)
Places._ensureIndex({ loc : "2d" });
np. Możesz użyć powyższego w swoim bootstrap.js
.
Ponadto prawdopodobnie będziesz chciał umieścić swój ensureIndex
w Meteor.startup
, a może podczas wstawiania danych początkowych.
Ostrzeżenie :jak wspomniano tutaj
, powyższa metoda wywoływania ensureIndex
to obejście z powodu braku oficjalnego sposobu, aby to nazwać, więc spodziewaj się, że może się to zmienić.
Aktualizacja :teraz odzwierciedla zmiany w Meteorze 0.5.0, zobacz @Dror komentarz poniżej.