使用 CouchDB(和 GeoCouch),我有一个带有中心坐标(纬度和经度)的位置文档类型,我可以通过输入西北经度/纬度和西南经度/纬度来使用 bbox 查询很好地进行查询。我的位置文档还有一个名为 Users 的属性,其中我有一个用户列表。我希望能够通过在 Users 数组中添加特定用户的过滤来执行 bbox。这可能吗?
添加了有关问题的详细信息:重要的原因是因为我可能有一百万个不同的位置文档,每个文档在 User 数组中都有一个用户列表(每个位置可能有 10-100 个用户标签)。我正在尝试查找一组用户的位置列表。所以我有 3 个用户进行特定搜索,我想在给定边界内找到这些用户的所有位置。我能想到处理这种情况的唯一方法是先执行 bbox 空间查询,然后遍历结果集以确定用户是否与 3 个用户的列表匹配。这意味着遍历一个可能非常大的原始结果集(位置列表)。看起来效率很低。很想在我的 bbox 查询中添加一个额外的维度以按用户过滤,但我不知道如何完成此操作或是否有可能。