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

mab*_*sif 5 javascript couchdb nosql

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

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

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

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

Dom*_*nes 4

您有 3 个选择:

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