2017-03-04 9 views
1

私はコレクションを持っています。以下のサンプル文書はユニークなmongoドキュメントを返します

{ 
"bannerUserSessionId" : "565269c7d52ece855050b3b7bd4ae8d6f52161871394e2d312c340a086f93314", 
"bannerId" : "<String> kitchen-chimneys||1488286849020|HP|PromoBanner4", 
"bannerEventLabel" : "<String> kitchen-chimneys", 
"bannerPage" : "HP", 
"bannerWidget" : "PromoBanner4", 
"bannerClickTimestamp" : "Mar 04, 2017 15:05:56 PM" 
} 
{ 
"bannerUserSessionId" : "565269c7d52ece855050b3b7bd4ae8d6f52161871394e2d312c340a086f93314", 
"bannerId" : "<String> kitchen- chimneys||1488286849020|HP|PromoBanner4", 
"bannerEventLabel" : "<String> kitchen-chimneys", 
"bannerPage" : "HP", 
"bannerWidget" : "PromoBanner4", 
"bannerClickTimestamp" : "Mar 04, 2017 15:06:19 PM" 
} 

あり、それは、異なるタイムスタンプオブジェクトを除いて同じです二つの文書、上記のように、私は独自の文書を取得しますようにMongoDBのを照会することは可能ですか?

私は1つのレコードしか必要としません。

答えて

2

$groupキーで、$firstタイムスタンプ値を選択できます。

db.collection.aggregate([{ 
    $group: { 
     _id: { 
      "bannerUserSessionId": "$bannerUserSessionId", 
      "bannerId": "$bannerId", 
      "bannerEventLabel": "$bannerEventLabel", 
      "bannerPage": "$bannerPage" 
     }, 
     "bannerClickTimestamp": { 
      $first: "$bannerClickTimestamp" 
     } 
    } 
}]) 
関連する問題