2017-03-04 4 views
1

Ich habe eine Sammlung. Im Folgenden sind die BeispieldokumenteRückgabe einzigartige Mongo Dokument

{ 
"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" 
} 

Ist es möglich, mongodb so abzufragen, die ich einzigartiges Dokument erhalten werden, wie oben zwei Dokumente außer Objekt unterschiedliche Zeitstempel gleich sind?

Also ich will nur einen Datensatz.

Antwort

2

Sie können $group per Tasten und wählen Sie den $first Zeitstempel Wert.

db.collection.aggregate([{ 
    $group: { 
     _id: { 
      "bannerUserSessionId": "$bannerUserSessionId", 
      "bannerId": "$bannerId", 
      "bannerEventLabel": "$bannerEventLabel", 
      "bannerPage": "$bannerPage" 
     }, 
     "bannerClickTimestamp": { 
      $first: "$bannerClickTimestamp" 
     } 
    } 
}]) 
Verwandte Themen