2013-05-23 4 views
0

Je construis une application web sur Node.js et MongoDB qui est basée sur des points géolocalisés.mongodb, find par coordonnée + requête

Le document est quelque chose comme ceci:

{ name: "" 
keywords: [Array of strings] 
location: {lng: double, lat: double } 
} 

Je me demande comment pourrais-je utiliser find() pour trouver des documents qui sont près d'une coordonnée mais, en plus, coïncident avec l'un des il mots-clés dans les mots-clés tableau.

Imaginez que les mots clés sont: ["restaurant", "bar", "coffee"]

Je l'ai regardé dans 2d Index, mais l'index secondaire doit être une chaîne. Ce ne peut pas être un tableau de chaînes.

Le problème est qu'un document pourrait avoir plus d'un mot-clé (ou catégorie) donc je ne peux pas utiliser une simple chaîne pour les interroger

Comment voulez-vous mettre en œuvre cette?

Merci!

+0

Hi. Avez-vous déjà regardé $ dans le tableau de mots-clés? Cela devrait aider avec une partie de votre problème. http://docs.mongodb.org/manual/reference/operator/in/ –

Répondre

0

Quelle version de mongo? Il semble que cela ait été ajouté en 2.4.0: SERVER-8457

Questions connexes