Mongodb Mongo地图减少输出,如何读取返回的结果?

Mongodb Mongo地图减少输出,如何读取返回的结果?,mongodb,mapreduce,Mongodb,Mapreduce,我有一个map reduce查询,可以“工作”并做我想做的事情,但到目前为止,我没有利用我的输出数据,因为我无法确定如何读回它。。。让我解释一下。。。以下是我的建议: emit( { jobid: this.job_id, type: this.type}, { count: 1 }) 以及reduce函数: reduce: function (key, values) { var total = 0; for( i = 0; i < values.length; i++

我有一个map reduce查询,可以“工作”并做我想做的事情,但到目前为止,我没有利用我的输出数据,因为我无法确定如何读回它。。。让我解释一下。。。以下是我的建议:

emit( { jobid: this.job_id, type: this.type}, { count: 1 })
以及reduce函数:

reduce: function (key, values) {
    var total = 0;
    for( i = 0; i < values.length; i++ ) {
        total += values[i].count;
    }
    return { jobid: this.job_id, type:this.type, count: total};
},
但是,我该如何发出一个查询,通过“jobid”查找所有jobid条目,同时忽略类型?我一开始就尝试了这个,期望有两行输出,但是没有

db.mrtest.find( { "_id": { "jobid" : "5051f299340b1" }} );
我也尝试过,但失败了:

db.mrtest.find( { "_id": { "jobid" : "5051f299340b1" }} );
同时:

db.mrtest.find( { "_id" : { "jobid" : "5051f299340b1", "type" : 2 }} )
按预期生成一行输出,再次将其更改为该行将无法生成任何内容:

db.mrtest.find( { "_id" : { "jobid" : "5051f299340b1", "type" : { $in: [2] }}} )
我的印象是,你不能用id字段做这样的事情,或者你可以吗?我在想,我需要重新组织我的mr输出,但这感觉好像失败了

救命啊

PS:如果有人能解释为什么计数包含在一个名为“value”的字段中,那也很受欢迎!“5051f299340b1”

您是否尝试过:

db.mrtest.find( { "_id.jobid": "506ea3a85e126" })
那对我有用

db.mrtest.find( { "_id.jobid": "506ea3a85e126" })
db.mrtest.find( { "_id.jobid": "506ea3a85e126" })