2017-09-27 126 views
0

我有以下結構的文檔:MongoDB的 - 如何從嵌套的文檔的結果,而不文檔結構

{ 
    "aaa": { 
     "bbb":{ 
      "ccc":123 
      "ddd":456 
     } 
    } 
} 

查詢時,我用db.mycoll.find({},{"aaa.bbb.ccc": 1})只得到數123,但MongoDB的將返回結果與完整的結構爲

{ 
    "aaa": { 
     "bbb":{ 
      "ccc":123 
     } 
    } 
} 

如何避免MongoDB返回完整的結構,只返回內部值?

回答

1

可以映射功能::

嘗試這樣的:

db.mycoll.find({},{"aaa.bbb.ccc":1}).map(function(u) { return u.aaa.bbb.ccc;}) 

結果:: [123]

0

通過聚合的一種方式可以是這樣的:

db.mycoll.aggregate(
    [ 
     { 
      $project: { 
       _id: "$aaa.bbb.ccc" 
      } 
     }, 
    ] 
); 

結果將會是:

{ 
    "value" : 123.0 
}