MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Indice géospatial de Mongo et Meteor

Oui, vous pouvez utiliser l'index géospatial MongoDB dans Meteor, et vous pouvez également créer cet index à partir de votre application Meteor.

- Recherche géospatiale

J'utilise le $within opérateur ci-dessous, par opposition au $near opérateur mentionné ci-dessus, mais cela s'applique toujours :

Meteor.publish('places', function(box) {
    return Places.find({ loc : { $within : { $box : box }}});
});

Rappel  :Ces types de requêtes géographiques ne sont disponibles que sur le serveur (actuellement).

- Création d'un index géospatial à partir de Meteor (plutôt que dans un shell MongoDB)

Places._ensureIndex({ loc : "2d" });

par exemple. Vous pouvez utiliser ce qui précède dans votre bootstrap.js .

Aussi, vous voudrez probablement mettre votre ensureIndex dans Meteor.startup , ou peut-être lorsque vous insérez des données initiales.

Avertissement  :Comme mentionné ici , la méthode ci-dessus d'appel de ensureIndex est un contournement faute d'un moyen officiel de l'appeler, alors attendez-vous à ce que cela puisse changer.

Mettre à jour  :reflète désormais les modifications apportées à Meteor 0.5.0, voir @Dror ci-dessous.