2016-06-28 8 views
0

私は、各行が文書に対応する次のようなMongoDBのコレクションを、持っている想像:MongoDBのクエリ選択文書

{name:'rick', age:30} 
{name:'john', age:40} 
{name:'rick', age:35} 
{name:'john', age:20} 
{name:'jeff', age:50} 
{name:'jeff', age:40} 

一部のドキュメントは、(同じ値に設定し、「名前」フィールドを持っています2リズム、2ジョーンズ、2ジェフ)。 2つ以上の文書に同じ名前の「名前」フィールドが設定されている場合は、最高の年齢の文書のみを選択します。このように:

{name:'rick', age:35} 
{name:'john', age:40} 
{name:'jeff', age:50} 

は30リック歳と35歳のリックありますか?私は35歳のリックを選びました!それで...

しかし、どのようにクエリを見せることができますか?

答えて

0
db.collection.aggregate([{$group:{_id:"$name",sal:{$max:"$age"}}}]); 
0

db.getCollection( 'MYTEST')集計。({$グループ:{_ ID:{ "名": "$名"}、年齢:{$最大: "$時代"}}})

出力:

{ 
    "_id" : { 
     "name" : "jeff" 
    }, 
    "age" : 50 
} 

/* 2 */ 
{ 
    "_id" : { 
     "name" : "john" 
    }, 
    "age" : 40 
} 

/* 3 */ 
{ 
    "_id" : { 
     "name" : "rick" 
    }, 
    "age" : 35 
} 
+0

しかし、私は、彼らがそのためのデータベースで表示される文書がdisplaedしたい出力で、私は{「_id」したくない:{「名」:「リック」} 、 "age":35} {name: 'rick'、age:35} – nix86