我有两个系列。 “people
”与“location
”相关联,如下所示:
location_id = ObjectId()
db.people.insert(
{
_id : ObjectId(),
name : "Nick",
location : location_id
});
db.locations.insert(
{
_id : location_id,
city : "Cape Town"
});
我想创建一个locations
的直方图,给出每个city
中的人数。但我似乎无法使用Mongo group
命令来执行此操作,因为它们是不同的集合。使用map / reduce是正确的方法吗?
答案 0 :(得分:0)
map-reduce也不会帮到你。它还可以在一个集合上运行。
在我看来,你正试图在这里运用你的关系设计技巧。不要那样做。 MongoDB需要一种全新的方法。
如果我是你,我可能会将位置归结为人物收集。
db.people.insert(
{
_id : ObjectId(),
name : "Nick",
location : {city: "Cape Town"}
});
这样就可以使用map-reduce分析这些数据,因为所有内容都在同一个集合中。