2012-12-03 20 views
2

如何查詢由mongodb mapReduce生成的集合中的特定字段?
我應該輸入什麼才能檢索輸出集合中的姓氏字段?

結果應該是:
{ 「姓」: 「Doe的」}如何查詢特定的mongodb mapreduce字段?

>版本()
版本:2.2.2

> db.test.save({第一:「約翰」,最後: 「李四」})

> db.test.find()
{ 「_id」:物件( 「50bc001a8e97247957c6000f」), 「第一」: 「約翰」, 「最後的」: 「李四」 }

> db.test.mapReduce(
function (){emit(this._id,{firstname:this.first,lastname:this.last})},function(key,value){return null; },{出:{減少: '輸出'}})

{ 「結果」: 「輸出」, 「timeMillis」:6, 「計數」:{ 「輸入」:1, 「發射「:1, 」減少「:0, 」輸出「:1 }, 」OK「:1, }

> db.output.find()
{ 」_id「:的ObjectId( 「{50bc001a8e97247957c6000f」),「value」:{「firstname」:「John」,「lastname」:「Doe」}}

> db.output.find({},{_id:0} )
{ 「值」:{ 「名字」: 「約翰」, 「姓氏」: 「李四」}}

+0

我supppose你已經嘗試過> db.output.find({},{名字:1})? –

+0

{「_id」:ObjectId(「50bc001a8e97247957c6000f」)} – pent

回答

0

你能拿出一個find沒有返工您最近的map-reduce是:

db.output.find({}, {_id:0, 'value.lastname':1}) 
+0

{「value」:{「lastname」:「Doe」}} – pent

+0

什麼是另一種方法來重繪map-reduce以產生這些結果? – pent

+0

@pent你真的想用這個做什麼?這是一種無意義的地圖 - 以目前的形式減少。 – JohnnyHK