2017-03-07 5 views
0

私のようなクエリを使用します。私はあることを、このようなオブジェクトを変換しようとしています集計オブジェクト属性

{ 
    "email" : "[email protected]", 
    "name" : { 
     "fullName" : "Foo Bar" 
    } 
} 

:私のような出力を返します

db.users.find({}).projection({"_id":0,"email":1,"name.fullName":1}) 

{ 
    "email" : "[email protected]", 
    "name" : "Foo Bar" 
} 
+2

あなたは 'db.users.aggregate({$プロジェクト:{ "_ ID":0、 "電子メール":1、 "名": "$ name.fullName"})を使用することができます'出力を変換するために。 – Veeram

+0

@Veeramはい、それは私が探しているものです。回答として投稿してください – Kunok

答えて

3

$projectアグリゲーションの段階では、変換するキーと値(式として)を使用する必要があります 出力。

db.users.aggregate({$project:{"_id":0,"email":1,"name":"$nam‌​e.fullName"} 
+1

私はこの回答を7分で受け入れることができます – Kunok

+0

こんにちは@Veeram。あなたはどこにでもコンテンツを配布するので、明確な詐欺に答えるのは避けてください。私が質問への答えを探しているのを想像してみて、私の質問がすでに5回尋ねられていることを知っているなら、最高のものを見つけるために5つの質問すべてについてすべての答えを見なければなりませんか? 1つの質問だけを投票することで、すべての回答が互いにランク付けされている方がはるかに簡単で効率的です。 – chridam

+0

@chridam問題は、いくつかのケースでは、同じ問題について質問する多くの方法または標準的な方法がないということです。例えば、私はこの質問を検索しようとしましたが、ここでは関係のない「$ toUpper」に関する質問が海に浮かんできました。 – Kunok

関連する問題