2012-03-05 14 views
5

Me pregunto si podríamos pasar variables como parámetros a una función de mapa en CouchDb.Pasar parámetros para asignar funciones en CouchDb

Prácticamente, tengo una base de datos con coordenadas de lugares, y solo quiero asignar/reducir los lugares que están al alcance de un punto. ¿Cómo podría hacer eso? Quiero algo como:

function(doc, x, y, radius) { 
    if (doc.x - x)^2 + (doc.y - y)^2 < radius^2 { 
    emit(doc._id, doc); 
    } 
} 

¿Cómo podemos hacer eso en CouchDb?

Respuesta

4

usted tiene 3 opciones:

  1. Uso GeoCouch ya que estás haciendo consultas geo-espacial
  2. redactar distintos índices de las vistas para cada una de las ubicaciones
  3. utilizar un list function en una vista que los mapas todos sus documentos relevantes (puede pasar los parámetros a través de querystring a la función de lista)
+0

La función de lista parece prometedora porque GeoCouch aún no es compatible con heroku. Voy a darle una oportunidad ahora. – mabounassif

+0

¡La tercera opción funcionó! ¡Muchas gracias! – mabounassif

Cuestiones relacionadas