sql >> Database >  >> NoSQL >> MongoDB

Mongo geospatiale index en Meteor

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.



  1. Mongoose (node.js-module) veroorzaakt hoog CPU-gebruik

  2. Haal meerdere opgevraagde elementen op in een objectarray in de MongoDB-verzameling

  3. MongoDB-documentontwerp voor opmerkingen (en hun antwoordopmerkingen)

  4. MongoDB krijgt maximale datum in dubbel geneste array