MongoDB投影整个子文档

时间:2018-07-04 15:35:58

标签: mongodb mongodb-query

我的收藏集中有很多这样的文件。

{
"success": true,
"timestamp": 1519296206,
"base": "EUR",
"date": "2018-07-04",
"rates": {
    "AUD": 1.566015,
    "CAD": 1.560132,
    "CHF": 1.154727,
    "CNY": 7.827874,
    "GBP": 0.882047,
    "JPY": 132.360679,
    "USD": 1.23396,
  }
} 

我只想获得date和整个rates子文档,如下所示。我知道我可以在投影中添加rates.AUDrates.CAD等,但这会使投影变得非常大,难以理解且难以维护,因为新字段(或本例中的货币)可能会将来会被添加。

{
"date": "2018-07-04",
"rates": {
    "AUD": 1.566015,
    "CAD": 1.560132,
    "CHF": 1.154727,
    "CNY": 7.827874,
    "GBP": 0.882047,
    "JPY": 132.360679,
    "USD": 1.23396,
  }
} 

是否存在类似于{date: 1, "rates.*". 1}的投影,其工作原理如上所述?

1 个答案:

答案 0 :(得分:1)

也许是吗?

db.col.aggregate([ {
    $project: {
        date: 1,
        rates: 1
    }
}])