将参数传递给CouchDb中的映射函数

时间:2012-03-05 00:09:04

标签: javascript nosql couchdb

我想知道我们是否可以将变量作为参数传递给CouchDb中的map函数。

实际上,我有一个地点坐标的数据库,我只想映射/减少一个点可以到达的地方。我怎么能这样做?我想要这样的东西:

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

我们怎样才能在CouchDb中做到这一点?

1 个答案:

答案 0 :(得分:4)

您有3个选项:

  1. 使用GeoCouch,因为您正在进行地理空间查询
  2. 为每个位置编写单独的视图索引
  3. 在映射所有相关文档的视图上使用list function(您可以通过查询字符串将参数传递给列表函数)