Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb Pymongo-是否可以在映射值输出中返回字典_Mongodb - Fatal编程技术网

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