MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Índice geoespacial Mongo e Meteor


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.