大家好我发现以下代码出错:
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'。
任何帮助表示感谢。
答案 0 :(得分:0)
自己想出来,所以我会为好奇的人发布答案......
我无法映射到place.country_code,因为在某些情况下,该属性并不存在,例如place = Null。
所以我改为添加一个查询,只选择地点不为空的推文:
result = collection.map_reduce(map, reduce, "results",query={"place":{"$ne":None}})