Sim, você pode usar o índice geoespacial do MongoDB no Meteor, e você também pode criar esse índice de dentro do seu aplicativo Meteor.
- Pesquisa geoespacial
Estou usando o
$within
operador abaixo, em oposição ao $near
operador mencionado acima, mas isso ainda se aplica:Meteor.publish('places', function(box) {
return Places.find({ loc : { $within : { $box : box }}});
});
Lembrete :esses tipos de consultas geográficas estão disponíveis apenas no servidor (atualmente).
- Criando um índice geoespacial a partir do Meteor (em vez de em um shell MongoDB)
Places._ensureIndex({ loc : "2d" });
por exemplo. Você pode usar o acima em seu
bootstrap.js
. Além disso, você provavelmente desejará colocar seu
ensureIndex
em Meteor.startup
, ou talvez quando você está inserindo alguns dados iniciais. Aviso :Conforme mencionado aqui , o método acima de chamar
ensureIndex
é uma solução alternativa por falta de uma maneira oficial de chamá-lo, portanto, espere que isso possa mudar. Atualizar :agora reflete as mudanças no Meteor 0.5.0, veja @Dror comentário de abaixo.