使用pymongos Map Reduce映射到嵌套的JSOn

时间:2014-12-05 15:15:04

标签: python mongodb mapreduce pymongo

大家好我发现以下代码出错:

collection = db.classifications

results = collection.find({"place":{"$ne":None}}, {"place.country_code":1})
for doc in results:
    print doc

map = Code("function(){emit(this.place.country_code, 1);}")

reduce = Code("function(key,values){return Array.sum(values)}")

result = collection.map_reduce(map, reduce, "results")

for doc in result.find():
    print doc

错误说它无法在第7行读取属性'country_code'。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

自己想出来,所以我会为好奇的人发布答案......

我无法映射到place.country_code,因为在某些情况下,该属性并不存在,例如place = Null。

所以我改为添加一个查询,只选择地点不为空的推文:

result = collection.map_reduce(map, reduce, "results",query={"place":{"$ne":None}})