我正试图找出一种地理查询两个集合的方法:
Person {name, age, groupid}
Groups (id, name, geoLocation[x,y])
我需要找到所有与age > 18
知道怎么做而不必为每个找到的人查询群组吗?
答案 0 :(得分:1)
您在MongoDB中没有联接,所以您需要找到另一种解决方法。
我想到的下一个可行的方法是用组记录存储一系列年龄范围:
{
_id: {},
name: {},
geoLocation: {},
age_groups: {
'gt18': 1
},
}
然后我会查询age_groups.gt18字段并提取所有记录。当然,这意味着你需要一些东西来保持这个领域的最新状态。有几种方法:
我个人会选择预先汇总的事件处理方法