couchdb中的多维空间查询

couchdb中的多维空间查询,couchdb,geospatial,Couchdb,Geospatial,使用CouchDB(和geoccoach),我有一个带有中心坐标(lat&long)的文档类型的位置,通过输入西北经度/纬度和西南经度/纬度,我可以用bbox查询它。我的位置文档还有一个名为Users的属性,其中我有一个用户列表。我希望能够通过用户阵列中的特定用户执行bbox过滤。这可能吗 添加了有关该问题的详细信息: 重要的原因是我可能有一百万个不同的位置文档,每个文档在用户数组中都有一个用户列表(每个位置可能有10-100个用户标签)。我正在尝试为一组用户查找位置列表。因此,我有3个用户进行

使用CouchDB(和geoccoach),我有一个带有中心坐标(lat&long)的文档类型的位置,通过输入西北经度/纬度和西南经度/纬度,我可以用bbox查询它。我的位置文档还有一个名为Users的属性,其中我有一个用户列表。我希望能够通过用户阵列中的特定用户执行bbox过滤。这可能吗

添加了有关该问题的详细信息: 重要的原因是我可能有一百万个不同的位置文档,每个文档在用户数组中都有一个用户列表(每个位置可能有10-100个用户标签)。我正在尝试为一组用户查找位置列表。因此,我有3个用户进行特定搜索,我希望在给定范围内找到这些用户的所有位置。我认为处理这个场景的唯一方法是首先执行bbox空间查询,然后循环遍历结果集,以确定用户是否匹配3个用户的列表。这将意味着通过一个可能非常大的原始结果集(位置列表)进行循环。似乎效率很低。我很想在我的bbox查询中添加一个额外的维度,以便也按用户进行筛选,但我不知道如何实现这一点,也不知道这是否可行。
谢谢大家!

添加一个额外的参数是不可能的(据我所知)。您可以使用bbox,然后使用结果在额外的parm上执行额外的搜索,但这将在应用程序和数据库之间产生大量额外的网络流量

我最终从Irishoch转到了cloudant。lucene搜索索引功能提供了我所需要的。您可以索引lat/lon,然后添加额外的parm…太棒了

Irishoch可能有这个功能,但我找不到

geo?q=lat:[90到0]和lon:[150到0]以及用户:用户名