Mongodb Pymongo-是否可以在映射值输出中返回字典
我有以下映射器和还原器:Mongodb Pymongo-是否可以在映射值输出中返回字典,mongodb,Mongodb,我有以下映射器和还原器: mapper = Code(""" function () { emit({'a':this.a,'b':this.b}, {'c':this.c,'d':this.d); } """) reducer = Code(""" function (key, values) { var i, total_c,total_d = 0
mapper = Code("""
function () {
emit({'a':this.a,'b':this.b}, {'c':this.c,'d':this.d);
}
""")
reducer = Code("""
function (key, values) {
var i, total_c,total_d = 0;
for (i in values) {
total_c += values[i].c;
total_d += values[i].d;
}
return {'c':total_c,'d':total_d};
}
""")
这产生了许多价值观。将字典作为map in values的输出传递是否可以?我认为您的错误即将出现,因为有些值未定义。如果它尝试将未定义的值添加到一个数字,则结果为NaN。通常,pymongo中的NAN是由于mongo中出现了问题,而不是Python中出现了问题 可能值得检查您的数据 如果使用以下结构运行上述映射器和减速器:
db.myCollection.mapReduce(mapper, reducer, {query:{$and:[{'c':{$exists:1}}, {'d':{$exists:1}}]}})
这应该只在有值的值上运行,并停止NAN