Ja, du kan använda MongoDB geospatiala index inom Meteor, och du kan skapa det indexet från din Meteor-app också.
- Geospatial sökning
Jag använder $within
operatorn nedan, i motsats till $near
operatör som nämns ovan, men detta gäller fortfarande:
Meteor.publish('places', function(box) {
return Places.find({ loc : { $within : { $box : box }}});
});
Påminnelse :Den här typen av geofrågor är endast tillgängliga på servern (för närvarande).
– Skapa ett geospatialt index inifrån Meteor (snarare än i ett MongoDB-skal)
Places._ensureIndex({ loc : "2d" });
t.ex. Du kan använda ovanstående i din bootstrap.js
.
Dessutom vill du antagligen lägga in ditt ensureIndex
i Meteor.startup
, eller kanske när du infogar några initiala data.
Varning :Som nämnts här
, metoden ovan för att anropa ensureIndex
är en lösning i brist på ett officiellt sätt att kalla det, så förvänta dig att detta kan ändras.
Uppdatera :återspeglar nu ändringar i Meteor 0.5.0, se @Dror s kommentar nedan.