使用 pymongos Map Reduce 映射到嵌套的 JSOn
Posted
技术标签:
【中文标题】使用 pymongos Map Reduce 映射到嵌套的 JSOn【英文标题】:Mapping to nested JSOn using pymongos Map Reduce 【发布时间】:2015-02-03 19:22:29 【问题描述】:大家好,我收到以下代码错误:
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】:我自己想出来的,所以我会为好奇的人发布答案......
我无法映射到 place.country_code,因为在某些情况下该属性不存在,例如place = Null。
所以我改为添加一个查询以仅选择位置不为空的推文:
result = collection.map_reduce(map, reduce, "results",query="place":"$ne":None)
【讨论】:
为什么你需要 mapReduce ——你可以通过简单的聚合来做到这一点以上是关于使用 pymongos Map Reduce 映射到嵌套的 JSOn的主要内容,如果未能解决你的问题,请参考以下文章
Python入门之经典函数实例——第3关:Map-Reduce - 映射与归约的思想
Python入门之经典函数实例——第3关:Map-Reduce - 映射与归约的思想
map、foreach、reduce、filters的用法及区别
将日期对象放入 MongoDB,使用 pymongo 查询时返回浮点数
javascript Array .filter / .map / .reduce ... etc - 在集合上映射然后减少它