Ja, u kunt de MongoDB geospatiale index gebruiken binnen Meteor, en je kunt die index ook maken vanuit je Meteor-app.
- Geospatiaal zoeken
Ik gebruik de $within
operator hieronder, in tegenstelling tot de $near
hierboven genoemde operator, maar dit is nog steeds van toepassing:
Meteor.publish('places', function(box) {
return Places.find({ loc : { $within : { $box : box }}});
});
Herinnering :Dit soort geografische zoekopdrachten zijn alleen beschikbaar op de server (momenteel).
- Een geospatiale index maken vanuit Meteor (in plaats van in een MongoDB-shell)
Places._ensureIndex({ loc : "2d" });
bijv. Je zou het bovenstaande kunnen gebruiken in je bootstrap.js
.
U wilt waarschijnlijk ook uw ensureIndex
in Meteor.startup
, of misschien wanneer u wat initiële gegevens invoert.
Waarschuwing :Zoals vermeld hier
, de bovenstaande methode voor het aanroepen van ensureIndex
is een work around bij gebrek aan een officiële manier om het te noemen, dus verwacht dat dit kan veranderen.
Bijwerken :weerspiegelt nu veranderingen in Meteor 0.5.0, zie @Dror commentaar hieronder.