2010-05-27 mongodb map_reduce
В данном примере вычислим сумму значений атрибута col
# coding: utf8
from pymongo import Connection
from pymongo.code import Code
con = Connection()
con.drop_database('test')
db = con.test
db.posts.insert({ 'col':2 })
db.posts.insert({ 'col':3 })
db.posts.insert({ 'col':5 })
map = Code("emit('count', this.col);")
reduce = Code("function (key, vals) { "
"var sum=0;"
"for(var i in vals) sum += vals[i];"
"return sum;"
" }")
for x in db.posts.inline_map_reduce(map, reduce):
print x
{u'_id': u'count', u'value': 10.0}
db.posts.map_reduce(map, reduce).find()