Ja, du kan bruge MongoDB geospatiale indeks i Meteor, og du kan også oprette det indeks fra din Meteor-app.
- Geospatial søgning
Jeg bruger $within
operatoren nedenfor, i modsætning til $near
operatør nævnt ovenfor, men dette gælder stadig:
Meteor.publish('places', function(box) {
return Places.find({ loc : { $within : { $box : box }}});
});
Påmindelse :Disse typer geo-forespørgsler er kun tilgængelige på serveren (i øjeblikket).
- Oprettelse af et geospatialt indeks fra Meteor (i stedet for i en MongoDB-skal)
Places._ensureIndex({ loc : "2d" });
for eksempel. Du kan bruge ovenstående i din bootstrap.js
.
Du vil sikkert også gerne sætte dit ensureIndex
i Meteor.startup
, eller måske når du indsætter nogle indledende data.
Advarsel :Som nævnt her
, metoden ovenfor til at kalde ensureIndex
er en løsning, fordi man mangler en officiel måde at kalde det på, så forvent venligst, at dette kan ændre sig.
Opdater :afspejler nu ændringer i Meteor 0.5.0, se @Dror 's kommentar nedenfor.